this patch keeps track of global z-layer order of clients which are floating or if floating mode is enabled

master
Anselm R. Garbe 2006-09-06 17:31:52 +02:00
parent a33150eb4b
commit d22abeee86
1 changed files with 7 additions and 12 deletions

19
view.c
View File

@ -12,22 +12,14 @@ 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
reorder()
{
@ -232,7 +224,6 @@ restack()
return;
}
if(sel->isfloat || arrange == dofloat) {
pop(sel);
XRaiseWindow(dpy, sel->win);
XRaiseWindow(dpy, sel->twin);
}
@ -307,7 +298,11 @@ zoom(Arg *arg)
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);
}