|
|
@ -28,13 +28,15 @@ next(Client *c) |
|
|
|
void |
|
|
|
zoom(Arg *arg) |
|
|
|
{ |
|
|
|
Client **l; |
|
|
|
Client **l, *c; |
|
|
|
|
|
|
|
if(!sel) |
|
|
|
return; |
|
|
|
|
|
|
|
if(sel == next(clients)) |
|
|
|
sel = next(sel->next); |
|
|
|
if(sel == next(clients) && sel->next) { |
|
|
|
if((c = next(sel->next))) |
|
|
|
sel = c; |
|
|
|
} |
|
|
|
|
|
|
|
for(l = &clients; *l && *l != sel; l = &(*l)->next); |
|
|
|
*l = sel->next; |
|
|
@ -497,6 +499,10 @@ resize(Client *c, Bool inc) |
|
|
|
if(c->inch) |
|
|
|
c->h -= (c->h - c->baseh) % c->inch; |
|
|
|
} |
|
|
|
if(c->x > sw) /* might happen on restart */ |
|
|
|
c->x = sw - c->w; |
|
|
|
if(c->y > sh) |
|
|
|
c->ty = c->y = sh - c->h; |
|
|
|
if(c->minw && c->w < c->minw) |
|
|
|
c->w = c->minw; |
|
|
|
if(c->minh && c->h < c->minh) |
|
|
|