itapplied Markus' tagset purge of alternative view on _NET_ACTIVE_WINDOW event - dwm - [fork] customized build of dwm, the dynamic window manager Err adamsgaard.dk 70 hgit clone git://src.adamsgaard.dk/dwm URL:git://src.adamsgaard.dk/dwm adamsgaard.dk 70 1Log /src/dwm/log.gph adamsgaard.dk 70 1Files /src/dwm/files.gph adamsgaard.dk 70 1Refs /src/dwm/refs.gph adamsgaard.dk 70 1README /src/dwm/file/README.gph adamsgaard.dk 70 1LICENSE /src/dwm/file/LICENSE.gph adamsgaard.dk 70 i--- Err adamsgaard.dk 70 1commit bb3bd6fec37174e8d4bb9457ca815c00609e5157 /src/dwm/commit/bb3bd6fec37174e8d4bb9457ca815c00609e5157.gph adamsgaard.dk 70 1parent e63bf229485a576d68975dd4eb00c210394133ae /src/dwm/commit/e63bf229485a576d68975dd4eb00c210394133ae.gph adamsgaard.dk 70 hAuthor: Anselm R Garbe URL:mailto:garbeam@gmail.com adamsgaard.dk 70 iDate: Mon, 5 Dec 2016 10:16:46 +0100 Err adamsgaard.dk 70 i Err adamsgaard.dk 70 iapplied Markus' tagset purge of alternative view on _NET_ACTIVE_WINDOW event Err adamsgaard.dk 70 i Err adamsgaard.dk 70 iDiffstat: Err adamsgaard.dk 70 i M dwm.c | 38 +++++++++++++++---------------- Err adamsgaard.dk 70 i Err adamsgaard.dk 70 i1 file changed, 18 insertions(+), 20 deletions(-) Err adamsgaard.dk 70 i--- Err adamsgaard.dk 70 1diff --git a/dwm.c b/dwm.c /src/dwm/file/dwm.c.gph adamsgaard.dk 70 it@@ -153,7 +153,6 @@ static void buttonpress(XEvent *e); Err adamsgaard.dk 70 i static void checkotherwm(void); Err adamsgaard.dk 70 i static void cleanup(void); Err adamsgaard.dk 70 i static void cleanupmon(Monitor *mon); Err adamsgaard.dk 70 i-static void clearurgent(Client *c); Err adamsgaard.dk 70 i static void clientmessage(XEvent *e); Err adamsgaard.dk 70 i static void configure(Client *c); Err adamsgaard.dk 70 i static void configurenotify(XEvent *e); Err adamsgaard.dk 70 it@@ -204,6 +203,7 @@ static void setfullscreen(Client *c, int fullscreen); Err adamsgaard.dk 70 i static void setlayout(const Arg *arg); Err adamsgaard.dk 70 i static void setmfact(const Arg *arg); Err adamsgaard.dk 70 i static void setup(void); Err adamsgaard.dk 70 i+static void seturgent(Client *c, int urg); Err adamsgaard.dk 70 i static void showhide(Client *c); Err adamsgaard.dk 70 i static void sigchld(int unused); Err adamsgaard.dk 70 i static void spawn(const Arg *arg); Err adamsgaard.dk 70 it@@ -509,19 +509,6 @@ cleanupmon(Monitor *mon) Err adamsgaard.dk 70 i } Err adamsgaard.dk 70 i Err adamsgaard.dk 70 i void Err adamsgaard.dk 70 i-clearurgent(Client *c) Err adamsgaard.dk 70 i-{ Err adamsgaard.dk 70 i- XWMHints *wmh; Err adamsgaard.dk 70 i- Err adamsgaard.dk 70 i- c->isurgent = 0; Err adamsgaard.dk 70 i- if (!(wmh = XGetWMHints(dpy, c->win))) Err adamsgaard.dk 70 i- return; Err adamsgaard.dk 70 i- wmh->flags &= ~XUrgencyHint; Err adamsgaard.dk 70 i- XSetWMHints(dpy, c->win, wmh); Err adamsgaard.dk 70 i- XFree(wmh); Err adamsgaard.dk 70 i-} Err adamsgaard.dk 70 i- Err adamsgaard.dk 70 i-void Err adamsgaard.dk 70 i clientmessage(XEvent *e) Err adamsgaard.dk 70 i { Err adamsgaard.dk 70 i XClientMessageEvent *cme = &e->xclient; Err adamsgaard.dk 70 it@@ -534,11 +521,8 @@ clientmessage(XEvent *e) Err adamsgaard.dk 70 i setfullscreen(c, (cme->data.l[0] == 1 /* _NET_WM_STATE_ADD */ Err adamsgaard.dk 70 i || (cme->data.l[0] == 2 /* _NET_WM_STATE_TOGGLE */ && !c->isfullscreen))); Err adamsgaard.dk 70 i } else if (cme->message_type == netatom[NetActiveWindow]) { Err adamsgaard.dk 70 i- if (!ISVISIBLE(c)) { Err adamsgaard.dk 70 i- c->mon->seltags ^= 1; Err adamsgaard.dk 70 i- c->mon->tagset[c->mon->seltags] = c->tags; Err adamsgaard.dk 70 i- } Err adamsgaard.dk 70 i- pop(c); Err adamsgaard.dk 70 i+ if (c != selmon->sel && !c->isurgent) Err adamsgaard.dk 70 i+ seturgent(c, 1); Err adamsgaard.dk 70 i } Err adamsgaard.dk 70 i } Err adamsgaard.dk 70 i Err adamsgaard.dk 70 it@@ -806,7 +790,7 @@ focus(Client *c) Err adamsgaard.dk 70 i if (c->mon != selmon) Err adamsgaard.dk 70 i selmon = c->mon; Err adamsgaard.dk 70 i if (c->isurgent) Err adamsgaard.dk 70 i- clearurgent(c); Err adamsgaard.dk 70 i+ seturgent(c, 0); Err adamsgaard.dk 70 i detachstack(c); Err adamsgaard.dk 70 i attachstack(c); Err adamsgaard.dk 70 i grabbuttons(c, 1); Err adamsgaard.dk 70 it@@ -1616,6 +1600,20 @@ setup(void) Err adamsgaard.dk 70 i focus(NULL); Err adamsgaard.dk 70 i } Err adamsgaard.dk 70 i Err adamsgaard.dk 70 i+ Err adamsgaard.dk 70 i+void Err adamsgaard.dk 70 i+seturgent(Client *c, int urg) Err adamsgaard.dk 70 i+{ Err adamsgaard.dk 70 i+ XWMHints *wmh; Err adamsgaard.dk 70 i+ Err adamsgaard.dk 70 i+ c->isurgent = urg; Err adamsgaard.dk 70 i+ if (!(wmh = XGetWMHints(dpy, c->win))) Err adamsgaard.dk 70 i+ return; Err adamsgaard.dk 70 i+ wmh->flags = urg ? (wmh->flags | XUrgencyHint) : (wmh->flags & ~XUrgencyHint); Err adamsgaard.dk 70 i+ XSetWMHints(dpy, c->win, wmh); Err adamsgaard.dk 70 i+ XFree(wmh); Err adamsgaard.dk 70 i+} Err adamsgaard.dk 70 i+ Err adamsgaard.dk 70 i void Err adamsgaard.dk 70 i showhide(Client *c) Err adamsgaard.dk 70 i { Err adamsgaard.dk 70 .