diff options
author | Anselm R. Garbe <arg@suckless.org> | 2007-06-06 11:43:14 +0200 |
---|---|---|
committer | Anselm R. Garbe <arg@suckless.org> | 2007-06-06 11:43:14 +0200 |
commit | c95bf3db9dcbf48428140bca6c2f86129977cc6c (patch) | |
tree | bdc63edf9ee1c024c0927eeb219fae854330c99e | |
parent | 4bf3b019535da3aa14cfccebd65ea726cbd15862 (diff) | |
download | dwm-c95bf3db9dcbf48428140bca6c2f86129977cc6c.tar.gz |
applied restack patch of anydot, with slight changes
-rw-r--r-- | layout.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/layout.c b/layout.c index acf0a8e..f8c92ee 100644 --- a/layout.c +++ b/layout.c @@ -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); |