focus(): clear XUrgencyHint from the container window - tabbed - tab interface … | |
git clone git://git.suckless.org/tabbed | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit 82374bcf6d35f6b05412382b8e51e1202ce4379b | |
parent 405d9cdf3aa998b48c87fe995125877673712a74 | |
Author: Mikhail Pchelin <[email protected]> | |
Date: Tue, 21 Jan 2025 20:28:42 +0300 | |
focus(): clear XUrgencyHint from the container window | |
Diffstat: | |
M tabbed.c | 12 ++++++++++++ | |
1 file changed, 12 insertions(+), 0 deletions(-) | |
--- | |
diff --git 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(); |