commit 56afeac8ea058ac0c0637df224e8a55450691eed from: rsc date: Fri Aug 06 12:57:43 2004 UTC different delete handling from axel. who knows what it fixes or breaks. commit - 0fa6e0cfbf480077fadc0cb5f3fd8d1ebad5b00e commit + 56afeac8ea058ac0c0637df224e8a55450691eed blob - 5222f210379a3670402312c8d510b49ce4e61f30 blob + 16168b4919f6dedf9c92ff9615a18315f48c74f7 --- src/cmd/rio/client.c +++ src/cmd/rio/client.c @@ -23,11 +23,11 @@ setactive(Client *c, int on) XUngrabButton(dpy, AnyButton, AnyModifier, c->parent); XSetInputFocus(dpy, c->window, RevertToPointerRoot, timestamp()); if (c->proto & Ptakefocus) - sendcmessage(c->window, wm_protocols, wm_take_focus, 0); + sendcmessage(c->window, wm_protocols, wm_take_focus, 0, 0); cmapfocus(c); } else { if (c->proto & Plosefocus) - sendcmessage(c->window, wm_protocols, wm_lose_focus, 0); + sendcmessage(c->window, wm_protocols, wm_lose_focus, 0, 0); XGrabButton(dpy, AnyButton, AnyModifier, c->parent, False, ButtonMask, GrabModeAsync, GrabModeSync, None, None); } blob - 22395d709e56a639c80fbf289514695b2ab813c4 blob + 7c7e714694cdccbeabf2a6b802b80a6ac279b29f --- src/cmd/rio/main.c +++ src/cmd/rio/main.c @@ -143,12 +143,12 @@ main(int argc, char *argv[]) curtime = -1; /* don't care */ if (do_exit) { - sendcmessage(DefaultRootWindow(dpy), exit_rio, 0L, 1); + sendcmessage(DefaultRootWindow(dpy), exit_rio, 0L, 1, 1); XSync(dpy, False); exit(0); } if (do_restart) { - sendcmessage(DefaultRootWindow(dpy), restart_rio, 0L, 1); + sendcmessage(DefaultRootWindow(dpy), restart_rio, 0L, 1, 1); XSync(dpy, False); exit(0); } @@ -398,7 +398,7 @@ timestamp(void) } void -sendcmessage(Window w, Atom a, long x, int isroot) +sendcmessage(Window w, Atom a, long x, int isroot, int usemask) { XEvent ev; int status; @@ -411,8 +411,9 @@ sendcmessage(Window w, Atom a, long x, int isroot) ev.xclient.format = 32; ev.xclient.data.l[0] = x; ev.xclient.data.l[1] = timestamp(); - mask = 0L; - if (isroot) + if (usemask == 0) + mask = 0; + else if (isroot) mask = SubstructureRedirectMask; /* magic! */ else mask = ExposureMask; /* not really correct but so be it */