applied Markus' tagset purge of alternative view on _NET_ACTIVE_WINDOW event
This commit is contained in:
		
							
								
								
									
										38
									
								
								dwm.c
									
									
									
									
									
								
							
							
						
						
									
										38
									
								
								dwm.c
									
									
									
									
									
								
							| @@ -153,7 +153,6 @@ static void buttonpress(XEvent *e); | ||||
| static void checkotherwm(void); | ||||
| static void cleanup(void); | ||||
| static void cleanupmon(Monitor *mon); | ||||
| static void clearurgent(Client *c); | ||||
| static void clientmessage(XEvent *e); | ||||
| static void configure(Client *c); | ||||
| static void configurenotify(XEvent *e); | ||||
| @@ -204,6 +203,7 @@ static void setfullscreen(Client *c, int fullscreen); | ||||
| static void setlayout(const Arg *arg); | ||||
| static void setmfact(const Arg *arg); | ||||
| static void setup(void); | ||||
| static void seturgent(Client *c, int urg); | ||||
| static void showhide(Client *c); | ||||
| static void sigchld(int unused); | ||||
| static void spawn(const Arg *arg); | ||||
| @@ -508,19 +508,6 @@ cleanupmon(Monitor *mon) | ||||
| 	free(mon); | ||||
| } | ||||
|  | ||||
| void | ||||
| clearurgent(Client *c) | ||||
| { | ||||
| 	XWMHints *wmh; | ||||
|  | ||||
| 	c->isurgent = 0; | ||||
| 	if (!(wmh = XGetWMHints(dpy, c->win))) | ||||
| 		return; | ||||
| 	wmh->flags &= ~XUrgencyHint; | ||||
| 	XSetWMHints(dpy, c->win, wmh); | ||||
| 	XFree(wmh); | ||||
| } | ||||
|  | ||||
| void | ||||
| clientmessage(XEvent *e) | ||||
| { | ||||
| @@ -534,11 +521,8 @@ clientmessage(XEvent *e) | ||||
| 			setfullscreen(c, (cme->data.l[0] == 1 /* _NET_WM_STATE_ADD    */ | ||||
| 			              || (cme->data.l[0] == 2 /* _NET_WM_STATE_TOGGLE */ && !c->isfullscreen))); | ||||
| 	} else if (cme->message_type == netatom[NetActiveWindow]) { | ||||
| 		if (!ISVISIBLE(c)) { | ||||
| 			c->mon->seltags ^= 1; | ||||
| 			c->mon->tagset[c->mon->seltags] = c->tags; | ||||
| 		} | ||||
| 		pop(c); | ||||
| 		if (c != selmon->sel && !c->isurgent) | ||||
| 			seturgent(c, 1); | ||||
| 	} | ||||
| } | ||||
|  | ||||
| @@ -806,7 +790,7 @@ focus(Client *c) | ||||
| 		if (c->mon != selmon) | ||||
| 			selmon = c->mon; | ||||
| 		if (c->isurgent) | ||||
| 			clearurgent(c); | ||||
| 			seturgent(c, 0); | ||||
| 		detachstack(c); | ||||
| 		attachstack(c); | ||||
| 		grabbuttons(c, 1); | ||||
| @@ -1616,6 +1600,20 @@ setup(void) | ||||
| 	focus(NULL); | ||||
| } | ||||
|  | ||||
|  | ||||
| void | ||||
| seturgent(Client *c, int urg) | ||||
| { | ||||
| 	XWMHints *wmh; | ||||
|  | ||||
| 	c->isurgent = urg; | ||||
| 	if (!(wmh = XGetWMHints(dpy, c->win))) | ||||
| 		return; | ||||
| 	wmh->flags = urg ? (wmh->flags | XUrgencyHint) : (wmh->flags & ~XUrgencyHint); | ||||
| 	XSetWMHints(dpy, c->win, wmh); | ||||
| 	XFree(wmh); | ||||
| } | ||||
|  | ||||
| void | ||||
| showhide(Client *c) | ||||
| { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user