applied anydot's urgency hint patch, thanks!
This commit is contained in:
		
							parent
							
								
									d5893f55be
								
							
						
					
					
						commit
						9aa4a9043d
					
				
							
								
								
									
										27
									
								
								dwm.c
									
									
									
									
									
								
							
							
						
						
									
										27
									
								
								dwm.c
									
									
									
									
									
								
							| @ -139,6 +139,7 @@ static void attachstack(Client *c); | |||||||
| static void buttonpress(XEvent *e); | static void buttonpress(XEvent *e); | ||||||
| static void checkotherwm(void); | static void checkotherwm(void); | ||||||
| static void cleanup(void); | static void cleanup(void); | ||||||
|  | static void clearurgent(void); | ||||||
| static void configure(Client *c); | static void configure(Client *c); | ||||||
| static void configurenotify(XEvent *e); | static void configurenotify(XEvent *e); | ||||||
| static void configurerequest(XEvent *e); | static void configurerequest(XEvent *e); | ||||||
| @ -374,6 +375,23 @@ cleanup(void) { | |||||||
| 	XSetInputFocus(dpy, PointerRoot, RevertToPointerRoot, CurrentTime); | 	XSetInputFocus(dpy, PointerRoot, RevertToPointerRoot, CurrentTime); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | void | ||||||
|  | clearurgent(void) { | ||||||
|  | 	XWMHints *wmh; | ||||||
|  | 	Client *c; | ||||||
|  | 
 | ||||||
|  | 	for(c = clients; c; c = c->next) | ||||||
|  | 		if(ISVISIBLE(c) && c->isurgent) { | ||||||
|  | 			c->isurgent = False; | ||||||
|  | 			if (!(wmh = XGetWMHints(dpy, c->win))) | ||||||
|  | 				continue; | ||||||
|  | 
 | ||||||
|  | 			wmh->flags &= ~XUrgencyHint; | ||||||
|  | 			XSetWMHints(dpy, c->win, wmh); | ||||||
|  | 			XFree(wmh); | ||||||
|  | 		} | ||||||
|  | } | ||||||
|  | 
 | ||||||
| void | void | ||||||
| configure(Client *c) { | configure(Client *c) { | ||||||
| 	XConfigureEvent ce; | 	XConfigureEvent ce; | ||||||
| @ -1496,6 +1514,7 @@ toggleview(const Arg *arg) { | |||||||
| 
 | 
 | ||||||
| 	if(mask) { | 	if(mask) { | ||||||
| 		tagset[seltags] = mask; | 		tagset[seltags] = mask; | ||||||
|  | 		clearurgent(); | ||||||
| 		arrange(); | 		arrange(); | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
| @ -1626,10 +1645,13 @@ updatewmhints(Client *c) { | |||||||
| 	XWMHints *wmh; | 	XWMHints *wmh; | ||||||
| 
 | 
 | ||||||
| 	if((wmh = XGetWMHints(dpy, c->win))) { | 	if((wmh = XGetWMHints(dpy, c->win))) { | ||||||
| 		if(c == sel) | 		if(ISVISIBLE(c) && wmh->flags & XUrgencyHint) { | ||||||
| 			sel->isurgent = False; | 			wmh->flags &= ~XUrgencyHint; | ||||||
|  | 			XSetWMHints(dpy, c->win, wmh); | ||||||
|  | 		} | ||||||
| 		else | 		else | ||||||
| 			c->isurgent = (wmh->flags & XUrgencyHint) ? True : False; | 			c->isurgent = (wmh->flags & XUrgencyHint) ? True : False; | ||||||
|  | 
 | ||||||
| 		XFree(wmh); | 		XFree(wmh); | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
| @ -1641,6 +1663,7 @@ view(const Arg *arg) { | |||||||
| 	seltags ^= 1; /* toggle sel tagset */ | 	seltags ^= 1; /* toggle sel tagset */ | ||||||
| 	if(arg && (arg->ui & TAGMASK)) | 	if(arg && (arg->ui & TAGMASK)) | ||||||
| 		tagset[seltags] = arg->i & TAGMASK; | 		tagset[seltags] = arg->i & TAGMASK; | ||||||
|  | 	clearurgent(); | ||||||
| 	arrange(); | 	arrange(); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 anselm@aab
						anselm@aab