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;
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)
if(c->tags[i]) {
dc.x += dc.w;
dc.w = textw(c->tags[i]) + dc.font.height;
- drawtext(c->tags[i], True);
+ drawtext(c->tags[i], False, True);
}
}
dc.x += dc.w;
dc.w = textw(c->name) + dc.font.height;
- drawtext(c->name, True);
+ drawtext(c->name, False, True);
XCopyArea(dpy, dc.drawable, c->title, dc.gc,
0, 0, c->tw, c->th, 0, 0);
XFlush(dpy);