summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMikhail Pchelin <misha@freebsd.org>2025-01-21 20:28:42 +0300
committerHiltjo Posthuma <hiltjo@codemadness.org>2025-01-23 14:22:51 +0100
commit82374bcf6d35f6b05412382b8e51e1202ce4379b (patch)
treed27e5d8b34b6f625217196a174a7c48eca35b75d
parent405d9cdf3aa998b48c87fe995125877673712a74 (diff)
downloadchadtabbed-82374bcf6d35f6b05412382b8e51e1202ce4379b.tar.gz
chadtabbed-82374bcf6d35f6b05412382b8e51e1202ce4379b.tar.bz2
chadtabbed-82374bcf6d35f6b05412382b8e51e1202ce4379b.zip
focus(): clear XUrgencyHint from the container window
-rw-r--r--tabbed.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/tabbed.c b/tabbed.c
index e5664aa..aa45716 100644
--- a/tabbed.c
+++ b/tabbed.c
@@ -447,6 +447,7 @@ focus(int c)
char buf[BUFSIZ] = "tabbed-"VERSION" ::";
size_t i, n;
XWMHints* wmh;
+ XWMHints* win_wmh;
/* If c, sel and clients are -1, raise tabbed-win itself */
if (nclients == 0) {
@@ -480,6 +481,17 @@ focus(int c)
XSetWMHints(dpy, clients[c]->win, wmh);
clients[c]->urgent = False;
XFree(wmh);
+
+ /*
+ * gnome-shell will not stop notifying us about urgency,
+ * if we clear only the client hint and don't clear the
+ * hint from the main container window
+ */
+ if ((win_wmh = XGetWMHints(dpy, win))) {
+ win_wmh->flags &= ~XUrgencyHint;
+ XSetWMHints(dpy, win, win_wmh);
+ XFree(win_wmh);
+ }
}
drawbar();