|
|
|
@ -164,6 +164,7 @@ void
|
|
|
|
|
restack(void) {
|
|
|
|
|
Client *c;
|
|
|
|
|
XEvent ev;
|
|
|
|
|
XWindowChanges wc;
|
|
|
|
|
|
|
|
|
|
drawstatus();
|
|
|
|
|
if(!sel)
|
|
|
|
@ -171,12 +172,17 @@ restack(void) {
|
|
|
|
|
if(sel->isfloating || lt->arrange == floating)
|
|
|
|
|
XRaiseWindow(dpy, sel->win);
|
|
|
|
|
if(lt->arrange != floating) {
|
|
|
|
|
if(!sel->isfloating)
|
|
|
|
|
XLowerWindow(dpy, sel->win);
|
|
|
|
|
wc.stack_mode = Below;
|
|
|
|
|
wc.sibling = barwin;
|
|
|
|
|
if(!sel->isfloating) {
|
|
|
|
|
XConfigureWindow(dpy, sel->win, CWSibling | CWStackMode, &wc);
|
|
|
|
|
wc.sibling = sel->win;
|
|
|
|
|
}
|
|
|
|
|
for(c = nexttiled(clients); c; c = nexttiled(c->next)) {
|
|
|
|
|
if(c == sel)
|
|
|
|
|
continue;
|
|
|
|
|
XLowerWindow(dpy, c->win);
|
|
|
|
|
XConfigureWindow(dpy, c->win, CWSibling | CWStackMode, &wc);
|
|
|
|
|
wc.sibling = c->win;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
XSync(dpy, False);
|
|
|
|
|