applied Markus' tagset purge of alternative view on _NET_ACTIVE_WINDOW event
This commit is contained in:
		
							parent
							
								
									e63bf22948
								
							
						
					
					
						commit
						bb3bd6fec3
					
				
							
								
								
									
										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)
 | 
			
		||||
{
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue