*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
This commit is contained in:
Andreas.Fink85 2009-09-15 20:11:13 +00:00
parent 7597d1b4c3
commit ed9278e87b
3 changed files with 11 additions and 0 deletions

View file

@ -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));

View file

@ -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;

View file

@ -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);
}