X-Git-Url: https://git.danieliu.xyz/?a=blobdiff_plain;f=client.c;h=9b91ab65df2fdbaefcd907893f6e6cad926a4f94;hb=92e55c7c53cb808b584982ac8f6d69112d713fab;hp=589b73e76431050787555f211d7bc568e315a0f0;hpb=ecc95c903ba6c9a548588a79c1093e6372555f2c;p=dwm.git diff --git a/client.c b/client.c index 589b73e..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 || arrange != dotile) + 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 */