X-Git-Url: https://git.danieliu.xyz/?a=blobdiff_plain;f=client.c;h=9b91ab65df2fdbaefcd907893f6e6cad926a4f94;hb=92e55c7c53cb808b584982ac8f6d69112d713fab;hp=7c3b28b189eea09033b027a9da5187e3f317e2bb;hpb=a207949b6503546379e3ab727cecc2f3e0cff78d;p=dwm.git diff --git a/client.c b/client.c index 7c3b28b..9b91ab6 100644 --- a/client.c +++ b/client.c @@ -58,6 +58,8 @@ focus(Client *c) drawtitle(c); XSetInputFocus(dpy, c->win, RevertToPointerRoot, CurrentTime); XSync(dpy, False); + XChangeProperty(dpy, root, netatom[NetActiveWindow], XA_WINDOW, 32, + PropModeReplace, (unsigned char *)&c->win, 1); while(XCheckMaskEvent(dpy, EnterWindowMask, &ev)); } @@ -459,6 +461,9 @@ unmanage(Client *c) arrange(NULL); if(sel) focus(sel); + else + XChangeProperty(dpy, root, netatom[NetActiveWindow], XA_WINDOW, 32, + PropModeReplace, (unsigned char *)NULL, 1); } void @@ -466,12 +471,14 @@ zoom(Arg *arg) { Client *c; - if(!sel) + if(!sel || (arrange != dotile) || sel->isfloat) return; - if(sel == getnext(clients) && sel->next) { + if(sel == getnext(clients)) { if((c = getnext(sel->next))) sel = c; + else + return; } /* pop */