mirror of
				git://git.suckless.org/dwm
				synced 2025-10-31 10:07:33 +00:00 
			
		
		
		
	this variant is known to work, but focus() is ugly - we need in general a better way to handle multihead, this issel-stuff looks awkward (maybe it might be a good idea to set sel to NULL but to introduce a Client *revert which is set if a screen is unfocused, have to think about it further).
This commit is contained in:
		
							parent
							
								
									b233089815
								
							
						
					
					
						commit
						fcd98308ba
					
				
							
								
								
									
										20
									
								
								client.c
									
									
									
									
									
								
							
							
						
						
									
										20
									
								
								client.c
									
									
									
									
									
								
							| @ -81,7 +81,7 @@ void | |||||||
| focus(Client *c) { | focus(Client *c) { | ||||||
| 	Client *old = sel; | 	Client *old = sel; | ||||||
| 
 | 
 | ||||||
| 	if(!issel || (c && !isvisible(c))) | 	if(c && !isvisible(c)) | ||||||
| 		return; | 		return; | ||||||
| 
 | 
 | ||||||
| 	if(old && old != c) { | 	if(old && old != c) { | ||||||
| @ -89,14 +89,18 @@ focus(Client *c) { | |||||||
| 		XSetWindowBorder(dpy, old->win, dc.norm[ColBorder]); | 		XSetWindowBorder(dpy, old->win, dc.norm[ColBorder]); | ||||||
| 	} | 	} | ||||||
| 	if(c) { | 	if(c) { | ||||||
| 		detachstack(c); | 		if(issel) { | ||||||
| 		c->snext = stack; | 			detachstack(c); | ||||||
| 		stack = c; | 			c->snext = stack; | ||||||
| 		grabbuttons(c, True); | 			stack = c; | ||||||
| 		XSetWindowBorder(dpy, c->win, dc.sel[ColBorder]); | 			grabbuttons(c, True); | ||||||
| 		XSetInputFocus(dpy, c->win, RevertToPointerRoot, CurrentTime); | 			XSetWindowBorder(dpy, c->win, dc.sel[ColBorder]); | ||||||
|  | 			XSetInputFocus(dpy, c->win, RevertToPointerRoot, CurrentTime); | ||||||
|  | 		} | ||||||
|  | 		else | ||||||
|  | 			XSetWindowBorder(dpy, c->win, dc.norm[ColBorder]); | ||||||
| 	} | 	} | ||||||
| 	else | 	else if(issel) | ||||||
| 		XSetInputFocus(dpy, root, RevertToPointerRoot, CurrentTime); | 		XSetInputFocus(dpy, root, RevertToPointerRoot, CurrentTime); | ||||||
| 	sel = c; | 	sel = c; | ||||||
| 	drawstatus(); | 	drawstatus(); | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user