dc.drawable = XCreatePixmap(dpy, root, sw, bh, DefaultDepth(dpy, screen));
XResizeWindow(dpy, barwin, sw, bh);
updatebarpos();
- lt->arrange();
+ lt->arrange(NULL);
}
}
case XA_WM_TRANSIENT_FOR:
XGetTransientForHint(dpy, c->win, &trans);
if(!c->isfloating && (c->isfloating = (getclient(trans) != NULL)))
- lt->arrange();
+ lt->arrange(NULL);
break;
case XA_WM_NORMAL_HINTS:
updatesizehints(c);
Client *c;
XUnmapEvent *ev = &e->xunmap;
- if((c = getclient(ev->window)))
- unmanage(c);
+ if((c = getclient(ev->window)) && (ev->event == root)) {
+ if(ev->send_event || c->unmapped-- == 0)
+ unmanage(c);
+ }
}
/* extern */