tapplied anydot's urgency hint patch, thanks! - dwm - [fork] customized build o… | |
git clone git://src.adamsgaard.dk/dwm | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit 9aa4a9043d1261f9ae71cc2740d061d68a99227e | |
parent d5893f55bec202e5dbb5ca4ef1f205cec5eb22c6 | |
Author: anselm@aab <unknown> | |
Date: Sun, 13 Jul 2008 18:08:55 +0100 | |
applied anydot's urgency hint patch, thanks! | |
Diffstat: | |
M dwm.c | 27 +++++++++++++++++++++++++-- | |
1 file changed, 25 insertions(+), 2 deletions(-) | |
--- | |
diff --git a/dwm.c b/dwm.c | |
t@@ -139,6 +139,7 @@ static void attachstack(Client *c); | |
static void buttonpress(XEvent *e); | |
static void checkotherwm(void); | |
static void cleanup(void); | |
+static void clearurgent(void); | |
static void configure(Client *c); | |
static void configurenotify(XEvent *e); | |
static void configurerequest(XEvent *e); | |
t@@ -375,6 +376,23 @@ cleanup(void) { | |
} | |
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 | |
configure(Client *c) { | |
XConfigureEvent ce; | |
t@@ -1496,6 +1514,7 @@ toggleview(const Arg *arg) { | |
if(mask) { | |
tagset[seltags] = mask; | |
+ clearurgent(); | |
arrange(); | |
} | |
} | |
t@@ -1626,10 +1645,13 @@ updatewmhints(Client *c) { | |
XWMHints *wmh; | |
if((wmh = XGetWMHints(dpy, c->win))) { | |
- if(c == sel) | |
- sel->isurgent = False; | |
+ if(ISVISIBLE(c) && wmh->flags & XUrgencyHint) { | |
+ wmh->flags &= ~XUrgencyHint; | |
+ XSetWMHints(dpy, c->win, wmh); | |
+ } | |
else | |
c->isurgent = (wmh->flags & XUrgencyHint) ? True : Fal… | |
+ | |
XFree(wmh); | |
} | |
} | |
t@@ -1641,6 +1663,7 @@ view(const Arg *arg) { | |
seltags ^= 1; /* toggle sel tagset */ | |
if(arg && (arg->ui & TAGMASK)) | |
tagset[seltags] = arg->i & TAGMASK; | |
+ clearurgent(); | |
arrange(); | |
} | |