diff options
| -rw-r--r-- | client.c | 7 | ||||
| -rw-r--r-- | view.c | 15 | 
2 files changed, 11 insertions, 11 deletions
| @@ -99,13 +99,6 @@ focus(Client *c)  		}  	}  	if(c) { -		if(c->isfloat || arrange == dofloat) { -			detach(c); -			if(clients) -				clients->prev = c; -			c->next = clients; -			clients = c; -		}  		grabbuttons(c, True);  		drawtitle(c);  		XSetInputFocus(dpy, c->win, RevertToPointerRoot, CurrentTime); @@ -18,6 +18,15 @@ minclient()  	return min;  } +static void +pop(Client *c) +{ +	detach(c); +	if(clients) +		clients->prev = c; +	c->next = clients; +	clients = c; +}  static void  reorder() @@ -223,6 +232,7 @@ restack()  		return;  	}  	if(sel->isfloat || arrange == dofloat) { +		pop(sel);  		XRaiseWindow(dpy, sel->win);  		XRaiseWindow(dpy, sel->twin);  	} @@ -297,10 +307,7 @@ zoom(Arg *arg)  	if((c = sel) == nexttiled(clients))  		if(!(c = nexttiled(c->next)))  			return; -	detach(c); -	c->next = clients; -	clients->prev = c; -	clients = c; +	pop(c);  	focus(c);  	arrange(NULL);  } | 
