diff options
| author | Anselm R. Garbe <arg@10kloc.org> | 2006-09-06 17:31:52 +0200 | 
|---|---|---|
| committer | Anselm R. Garbe <arg@10kloc.org> | 2006-09-06 17:31:52 +0200 | 
| commit | d22abeee867397c366f69cf89524b94e01c2e0e2 (patch) | |
| tree | 85e2334cb1ad5e94fe1083da6a38d4eeb9af5eef | |
| parent | a33150eb4b041b243d0493cd4b53bfbcace3299e (diff) | |
| download | dwm-d22abeee867397c366f69cf89524b94e01c2e0e2.tar.gz | |
this patch keeps track of global z-layer order of clients which are floating or if floating mode is enabled
| -rw-r--r-- | view.c | 19 | 
1 files changed, 7 insertions, 12 deletions
| @@ -12,6 +12,8 @@ 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; @@ -19,16 +21,6 @@ minclient()  }  static void -pop(Client *c) -{ -	detach(c); -	if(clients) -		clients->prev = c; -	c->next = clients; -	clients = c; -} - -static void  reorder()  {  	Client *c, *newclients, *tail; @@ -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);  } | 
