# HG changeset patch # User Anselm R. Garbe # Date 1181122994 -7200 # Node ID 7c556b28f1f6126726ba98448b93ebeb9368487a # Parent 434e10a35d3c489b4989f0dd8dd65693f0ee8de8 applied restack patch of anydot, with slight changes diff -r 434e10a35d3c -r 7c556b28f1f6 layout.c --- a/layout.c Wed Jun 06 11:17:56 2007 +0200 +++ b/layout.c Wed Jun 06 11:43:14 2007 +0200 @@ -164,6 +164,7 @@ restack(void) { Client *c; XEvent ev; + XWindowChanges wc; drawstatus(); if(!sel) @@ -171,12 +172,17 @@ 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);