--- a/client.c Fri Jan 26 12:41:15 2007 +0100
+++ b/client.c Sun Jan 28 20:29:41 2007 +0100
@@ -53,6 +53,13 @@
GrabModeAsync, GrabModeSync, None, None);
}
+static void
+setclientstate(Client *c, long state) {
+ long data[] = {state, None};
+ XChangeProperty(dpy, c->win, wmatom[WMState], wmatom[WMState], 32,
+ PropModeReplace, (unsigned char *)data, 2);
+}
+
static int
xerrordummy(Display *dsply, XErrorEvent *ee) {
return 0;
@@ -169,6 +176,7 @@
stack = clients = c;
XMoveWindow(dpy, c->win, c->x + 2 * sw, c->y);
XMapWindow(dpy, c->win);
+ setclientstate(c, NormalState);
if(isvisible(c))
focus(c);
arrange();
@@ -293,6 +301,7 @@
focus(nc);
}
XUngrabButton(dpy, AnyButton, AnyModifier, c->win);
+ setclientstate(c, WithdrawnState);
free(c->tags);
free(c);
XSync(dpy, False);