|
@ -414,19 +414,13 @@ togglemax(Arg *arg) |
|
|
void |
|
|
void |
|
|
unmanage(Client *c) |
|
|
unmanage(Client *c) |
|
|
{ |
|
|
{ |
|
|
Client *tc, *fc; |
|
|
|
|
|
Window trans; |
|
|
|
|
|
XGrabServer(dpy); |
|
|
XGrabServer(dpy); |
|
|
XSetErrorHandler(xerrordummy); |
|
|
XSetErrorHandler(xerrordummy); |
|
|
|
|
|
|
|
|
detach(c); |
|
|
detach(c); |
|
|
if(sel == c) { |
|
|
if(sel == c) { |
|
|
XGetTransientForHint(dpy, c->win, &trans); |
|
|
|
|
|
if(trans && (tc = getclient(trans)) && isvisible(tc)) |
|
|
|
|
|
fc = tc; |
|
|
|
|
|
else |
|
|
|
|
|
fc = getnext(clients); |
|
|
|
|
|
focus(fc); |
|
|
|
|
|
|
|
|
for(sel = stack; sel && !isvisible(sel); sel = sel->snext); |
|
|
|
|
|
focus(sel); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
XUngrabButton(dpy, AnyButton, AnyModifier, c->win); |
|
|
XUngrabButton(dpy, AnyButton, AnyModifier, c->win); |
|
|