diff options
| -rw-r--r-- | client.c | 6 | ||||
| -rw-r--r-- | view.c | 8 | 
2 files changed, 8 insertions, 6 deletions
| @@ -414,14 +414,16 @@ togglemax(Arg *arg)  void  unmanage(Client *c)  { +	Client *nc; +  	XGrabServer(dpy);  	XSetErrorHandler(xerrordummy);  	detach(c);  	detachstack(c);  	if(sel == c) { -		for(sel = stack; sel && !isvisible(sel); sel = sel->snext); -		focus(sel); +		for(nc = stack; nc && !isvisible(nc); nc = nc->snext); +		focus(nc);  	}  	XUngrabButton(dpy, AnyButton, AnyModifier, c->win); @@ -77,8 +77,8 @@ dofloat(Arg *arg)  			ban(c);  	}  	if(!sel || !isvisible(sel)) { -		for(sel = stack; sel && !isvisible(sel); sel = sel->snext); -		focus(sel); +		for(c = stack; c && !isvisible(c); c = c->snext); +		focus(c);  	}  	restack();  } @@ -141,8 +141,8 @@ dotile(Arg *arg)  			ban(c);  	}  	if(!sel || !isvisible(sel)) { -		for(sel = stack; sel && !isvisible(sel); sel = sel->snext); -		focus(sel); +		for(c = stack; c && !isvisible(c); c = c->snext); +		focus(c);  	}  	restack();  } | 
