X-Git-Url: https://jasonwoof.com/gitweb/?a=blobdiff_plain;f=client.c;h=5b666c96d2cea0d69ce039ad18c8730c9cf7da89;hb=91a1f6926e2594156219c1caaf4729c5d86498a5;hp=2a981fc8e90b54847018150959669e2aa47b48e3;hpb=a1d0f819661f2be48f7a03ddd001f2a1a8f325e4;p=dwm.git diff --git a/client.c b/client.c index 2a981fc..5b666c9 100644 --- a/client.c +++ b/client.c @@ -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; @@ -118,6 +120,7 @@ floating(Arg *arg) focus(sel); } } + draw_bar(); } void @@ -174,6 +177,7 @@ tiling(Arg *arg) focus(sel); } } + draw_bar(); } void @@ -497,6 +501,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) @@ -598,12 +606,12 @@ draw_client(Client *c) 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);