diff -r d18f6dd0cf23 -r 529901e6a227 event.c --- a/event.c Thu Jul 13 20:28:19 2006 +0200 +++ b/event.c Thu Jul 13 21:42:17 2006 +0200 @@ -89,6 +89,7 @@ if(ev->value_mask & CWBorderWidth) c->border = ev->border_width; gravitate(c, False); + resize(c, True); } wc.x = ev->x; @@ -179,6 +180,7 @@ propertynotify(XEvent *e) { XPropertyEvent *ev = &e->xproperty; + Window trans; Client *c; if(ev->state == PropertyDelete) @@ -192,9 +194,10 @@ switch (ev->atom) { default: break; case XA_WM_TRANSIENT_FOR: - XGetTransientForHint(dpy, c->win, &c->trans); + XGetTransientForHint(dpy, c->win, &trans); + if(!c->floating && (c->floating = (trans != 0))) + arrange(NULL); break; - update_size(c); case XA_WM_NORMAL_HINTS: update_size(c); break;