*fix* respect the urgency flag if set by a window git-svn-id: http://tint2.googlecode.com/svn/trunk@178 121b4492-b84c-0410-8b4c-0d4edfb3f3cc
Andreas.Fink85 Andreas.Fink85@121b4492-b84c-0410-8b4c-0d4edfb3f3cc
3 files changed,
11 insertions(+),
0 deletions(-)
M
src/server.c
→
src/server.c
@@ -73,6 +73,7 @@ server.atom._NET_WM_STRUT_PARTIAL = XInternAtom (server.dsp, "_NET_WM_STRUT_PARTIAL", False);
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));
M
src/server.h
→
src/server.h
@@ -55,6 +55,7 @@ Atom _NET_WM_STRUT_PARTIAL;
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;
M
src/tint.c
→
src/tint.c
@@ -581,6 +581,15 @@ }
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); }