this patch keeps track of global z-layer order of clients which are floating or if floating mode is enabled
Anselm R. Garbe arg@10kloc.org
Wed, 06 Sep 2006 17:31:52 +0200
1 files changed,
7 insertions(+),
12 deletions(-)
jump to
M
view.c
→
view.c
@@ -12,20 +12,12 @@ minclient()
{ Client *c, *min; + if((clients && clients->isfloat) || arrange == dofloat) + return clients; /* don't touch floating order */ for(min = c = clients; c; c = c->next) if(c->weight < min->weight) min = c; return min; -} - -static void -pop(Client *c) -{ - detach(c); - if(clients) - clients->prev = c; - c->next = clients; - clients = c; } static void@@ -232,7 +224,6 @@ drawstatus();
return; } if(sel->isfloat || arrange == dofloat) { - pop(sel); XRaiseWindow(dpy, sel->win); XRaiseWindow(dpy, sel->twin); }@@ -307,7 +298,11 @@
if((c = sel) == nexttiled(clients)) if(!(c = nexttiled(c->next))) return; - pop(c); + detach(c); + if(clients) + clients->prev = c; + c->next = clients; + clients = c; focus(c); arrange(NULL); }