From 6125e8ac9c2c1ce704ade3180237000626be8fd0 Mon Sep 17 00:00:00 2001 From: Andreas Fink Date: Tue, 15 Sep 2009 20:11:13 +0000 Subject: [PATCH] *fix* respect the urgency flag if set by a window --- src/server.c | 1 + src/server.h | 1 + src/tint.c | 9 +++++++++ 3 files changed, 11 insertions(+) diff --git a/src/server.c b/src/server.c index 4f65561..bca5fb6 100644 --- a/src/server.c +++ b/src/server.c @@ -73,6 +73,7 @@ void server_init_atoms () server.atom.WM_NAME = XInternAtom(server.dsp, "WM_NAME", False); server.atom.__SWM_VROOT = XInternAtom(server.dsp, "__SWM_VROOT", False); server.atom._MOTIF_WM_HINTS = XInternAtom(server.dsp, "_MOTIF_WM_HINTS", False); + server.atom.WM_HINTS = XInternAtom(server.dsp, "WM_HINTS", False); // systray protocol name_trayer = g_strdup_printf("_NET_SYSTEM_TRAY_S%d", DefaultScreen(server.dsp)); diff --git a/src/server.h b/src/server.h index 5ece8a4..401f222 100644 --- a/src/server.h +++ b/src/server.h @@ -55,6 +55,7 @@ typedef struct Global_atom Atom WM_NAME; Atom __SWM_VROOT; Atom _MOTIF_WM_HINTS; + Atom WM_HINTS; Atom _NET_SYSTEM_TRAY_SCREEN; Atom _NET_SYSTEM_TRAY_OPCODE; Atom MANAGER; diff --git a/src/tint.c b/src/tint.c index c23f115..f5713da 100644 --- a/src/tint.c +++ b/src/tint.c @@ -581,6 +581,15 @@ void event_property_notify (XEvent *e) panel_refresh = 1; } } + else if (at == server.atom.WM_HINTS) { + XWMHints* wmhints = XGetWMHints(server.dsp, win); + if (wmhints->flags & XUrgencyHint) { + task_urgent = tsk; + tick_urgent = 0; + time_precision = 1; + } + XFree(wmhints); + } if (!server.got_root_win) server.root_win = RootWindow (server.dsp, server.screen); } -- 2.44.0