applied restack patch of anydot, with slight changes
This commit is contained in:
parent
4bf3b01953
commit
c95bf3db9d
12
layout.c
12
layout.c
|
@ -164,6 +164,7 @@ void
|
||||||
restack(void) {
|
restack(void) {
|
||||||
Client *c;
|
Client *c;
|
||||||
XEvent ev;
|
XEvent ev;
|
||||||
|
XWindowChanges wc;
|
||||||
|
|
||||||
drawstatus();
|
drawstatus();
|
||||||
if(!sel)
|
if(!sel)
|
||||||
|
@ -171,12 +172,17 @@ restack(void) {
|
||||||
if(sel->isfloating || lt->arrange == floating)
|
if(sel->isfloating || lt->arrange == floating)
|
||||||
XRaiseWindow(dpy, sel->win);
|
XRaiseWindow(dpy, sel->win);
|
||||||
if(lt->arrange != floating) {
|
if(lt->arrange != floating) {
|
||||||
if(!sel->isfloating)
|
wc.stack_mode = Below;
|
||||||
XLowerWindow(dpy, sel->win);
|
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)) {
|
for(c = nexttiled(clients); c; c = nexttiled(c->next)) {
|
||||||
if(c == sel)
|
if(c == sel)
|
||||||
continue;
|
continue;
|
||||||
XLowerWindow(dpy, c->win);
|
XConfigureWindow(dpy, c->win, CWSibling | CWStackMode, &wc);
|
||||||
|
wc.sibling = c->win;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
XSync(dpy, False);
|
XSync(dpy, False);
|
||||||
|
|
Loading…
Reference in a new issue