all repos — tint2 @ ed9278e87b171e52438df1e25f9b2f0098cf4b98

fork of the tint2 desktop panel for my custom setup - only minimized windows across all desktops for the taskbar

*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
commit

ed9278e87b171e52438df1e25f9b2f0098cf4b98

parent

7597d1b4c39834851389081d0ec43e6900130de8

3 files changed, 11 insertions(+), 0 deletions(-)

jump to
M src/server.csrc/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.hsrc/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.csrc/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); }