this version should also work with cornercases (like unmanage during !issel, etc.)
This commit is contained in:
		
							parent
							
								
									373b11de11
								
							
						
					
					
						commit
						17ec726b49
					
				
							
								
								
									
										14
									
								
								client.c
								
								
								
								
							
							
						
						
									
										14
									
								
								client.c
								
								
								
								
							|  | @ -79,15 +79,16 @@ configure(Client *c) { | ||||||
| 
 | 
 | ||||||
| void | void | ||||||
| focus(Client *c) { | focus(Client *c) { | ||||||
| 	Client *old = sel; |  | ||||||
| 
 |  | ||||||
| 	if(c && !isvisible(c)) | 	if(c && !isvisible(c)) | ||||||
| 		return; | 		return; | ||||||
| 
 | 
 | ||||||
| 	if(old && old != c) { | 	if(sel && sel != c) { | ||||||
| 		grabbuttons(old, False); | 		grabbuttons(sel, False); | ||||||
| 		XSetWindowBorder(dpy, old->win, dc.norm[ColBorder]); | 		XSetWindowBorder(dpy, sel->win, dc.norm[ColBorder]); | ||||||
| 	} | 	} | ||||||
|  | 	sel = c; | ||||||
|  | 	if(!issel) | ||||||
|  | 		return; | ||||||
| 	if(c) { | 	if(c) { | ||||||
| 		detachstack(c); | 		detachstack(c); | ||||||
| 		c->snext = stack; | 		c->snext = stack; | ||||||
|  | @ -96,9 +97,8 @@ focus(Client *c) { | ||||||
| 		XSetWindowBorder(dpy, c->win, dc.sel[ColBorder]); | 		XSetWindowBorder(dpy, c->win, dc.sel[ColBorder]); | ||||||
| 		XSetInputFocus(dpy, c->win, RevertToPointerRoot, CurrentTime); | 		XSetInputFocus(dpy, c->win, RevertToPointerRoot, CurrentTime); | ||||||
| 	} | 	} | ||||||
| 	else if(issel) | 	else | ||||||
| 		XSetInputFocus(dpy, root, RevertToPointerRoot, CurrentTime); | 		XSetInputFocus(dpy, root, RevertToPointerRoot, CurrentTime); | ||||||
| 	sel = c; |  | ||||||
| 	drawstatus(); | 	drawstatus(); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue