X-Git-Url: https://git.xinqibao.xyz/dwm.git/blobdiff_plain/c225e1afc23e6862f9864bad3b7b11399dda36a1..8278f0a6befccfb4eb156cb312c69e032158734a:/client.c diff --git a/client.c b/client.c index f92df83..8004272 100644 --- a/client.c +++ b/client.c @@ -49,6 +49,8 @@ ban(Client *c) void focus(Client *c) { + if (!issel) + return; Client *old = sel; XEvent ev; @@ -196,13 +198,6 @@ killclient(Arg *arg) XKillClient(dpy, sel->win); } -void -lower(Client *c) -{ - XLowerWindow(dpy, c->title); - XLowerWindow(dpy, c->win); -} - void manage(Window w, XWindowAttributes *wa) { @@ -416,7 +411,7 @@ togglemax(Arg *arg) sel->h = sh - 2 - bh; higher(sel); - resize(sel, False, TopLeft); + resize(sel, arrange == dofloat, TopLeft); sel->x = ox; sel->y = oy; @@ -443,13 +438,8 @@ unmanage(Client *c) c->next->prev = c->prev; if(c == clients) clients = c->next; - if(sel == c) { - sel = getnext(c->next); - if(!sel) - sel = getprev(c->prev); - if(!sel) - sel = clients; - } + if(sel == c) + sel = getnext(clients); free(c->tags); free(c); @@ -466,7 +456,7 @@ zoom(Arg *arg) { Client *c; - if(!sel || (arrange != dotile) || sel->isfloat) + if(!sel || (arrange != dotile) || sel->isfloat || sel->ismax) return; if(sel == getnext(clients)) { @@ -482,8 +472,7 @@ zoom(Arg *arg) if(sel->next) sel->next->prev = sel->prev; sel->prev = NULL; - if(clients) - clients->prev = sel; + clients->prev = sel; sel->next = clients; clients = sel; arrange(NULL);