diff options
| -rw-r--r-- | client.c | 4 | ||||
| -rw-r--r-- | tag.c | 5 | 
2 files changed, 6 insertions, 3 deletions
| @@ -261,6 +261,10 @@ manage(Window w, XWindowAttributes *wa)  	if(trans && (tc = getclient(trans))) {  		c->x = (tc->x + tc->w / 2) - (c->w / 2);  		c->y = (tc->y + tc->h / 2) - (c->h / 2); +		if(c->x < 0 || c->x >= sw) +			c->x = (sw / 2) - (c->w / 2); +		if(c->y < 0 || c->y >= sh) +			c->y = ((sh - bh) / 2) - (c->h / 2) + bh;  	}  	else {  		c->x = (sw / 2) - (c->w / 2); @@ -49,12 +49,11 @@ dofloat(Arg *arg)  	}  	if(!sel || !isvisible(sel))  		sel = getnext(clients); -	if(sel) { +	if(sel)  		focus(sel); -		restack(); -	}  	else  		XSetInputFocus(dpy, root, RevertToPointerRoot, CurrentTime); +	restack();  }  void | 
