dwm

my fork of dwm
Index Commits Files Refs README LICENSE
commit c95bf3db9dcbf48428140bca6c2f86129977cc6c
parent 4bf3b019535da3aa14cfccebd65ea726cbd15862
Author: Anselm R. Garbe <arg@suckless.org>
Date:   Wed,  6 Jun 2007 11:43:14 +0200

applied restack patch of anydot, with slight changes
Diffstat:
Mlayout.c | 12+++++++++---
1 file changed, 9 insertions(+), 3 deletions(-)
diff --git 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);