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