diff --git a/src/client.c b/src/client.c index 2f57c6e..df0d6ac 100644 --- a/src/client.c +++ b/src/client.c @@ -188,12 +188,6 @@ client_gettbar(Window w) void client_hide(Client *c) { - //XMoveWindow(dpy, c->win, c->geo.x, c->geo.y + sgeo.height*2); - //if(conf.ttbarheight) - // bar_moveresize(c->tbar, c->geo.x, - // c->geo.y + sgeo.height*2, - //c->geo.width, c->geo.height); - XUnmapWindow(dpy, c->win); if(conf.ttbarheight) XUnmapWindow(dpy, c->tbar->win); @@ -464,12 +458,6 @@ raiseclient(Client *c) void client_unhide(Client *c) { - //XMoveWindow(dpy, c->win, c->geo.x, c->geo.y); - //if(conf.ttbarheight) - // bar_moveresize(c->tbar, c->geo.x, - // c->geo.y - conf.ttbarheight, - // c->geo.width, conf.ttbarheight); - XMapWindow(dpy, c->win); if(conf.ttbarheight) XMapWindow(dpy, c->tbar->win); diff --git a/src/event.c b/src/event.c index af86ea2..98b4438 100644 --- a/src/event.c +++ b/src/event.c @@ -458,6 +458,7 @@ void propertynotify(XEvent ev) { Client *c; + Window trans; if(event.xproperty.state == PropertyDelete) return; @@ -465,6 +466,12 @@ propertynotify(XEvent ev) { switch(event.xproperty.atom) { + default: break; + case XA_WM_TRANSIENT_FOR: + XGetTransientForHint(dpy, c->win, &trans); + if((c->tile || c->max) && (c->hint = (getclient(trans) != NULL))) + arrange(); + break; case XA_WM_NORMAL_HINTS: client_size_hints(c); break; @@ -485,7 +492,7 @@ unmapnotify(XEvent ev) if((c = getclient(ev.xunmap.window))) if(!c->hide && ev.xunmap.send_event - && getwinstate(c->win) == NormalState) + && getwinstate(c->win) == NormalState) client_unmanage(c); return; diff --git a/src/layout.c b/src/layout.c index d7de8db..85e10d9 100644 --- a/src/layout.c +++ b/src/layout.c @@ -255,8 +255,6 @@ tile(void) cgeo.height = tileheight - border; } - //cgeo.height -= conf.ttbarheight; - client_moveresize(c, cgeo, tags[seltag].resizehint); if(n > nmaster && tileheight != sgeo.height)