From 6e1dc92e17e2c35673581b08a247d5224aeaa668 Mon Sep 17 00:00:00 2001 From: Olivier Fourdan <fourdan.olivier@wanadoo.fr> Date: Sat, 23 Dec 2006 15:21:15 +0000 Subject: [PATCH] Forgot to update the NET_WM_STATE when the client requests an update of NET_WM_STATE_DEMANDS_ATTENTION (Bug #2678) (Old svn revision: 24174) --- src/netwm.c | 37 ++++++++++++++++++++----------------- 1 file changed, 20 insertions(+), 17 deletions(-) diff --git a/src/netwm.c b/src/netwm.c index 429d3e610..6ed81248f 100644 --- a/src/netwm.c +++ b/src/netwm.c @@ -334,23 +334,6 @@ clientUpdateNetState (Client * c, XClientMessageEvent * ev) } } - if ((first == display_info->atoms[NET_WM_STATE_DEMANDS_ATTENTION]) || - (second == display_info->atoms[NET_WM_STATE_DEMANDS_ATTENTION])) - { - if (action == NET_WM_STATE_ADD) - { - FLAG_SET (c->flags, CLIENT_FLAG_DEMANDS_ATTENTION); - } - else if (action == NET_WM_STATE_REMOVE) - { - FLAG_UNSET (c->flags, CLIENT_FLAG_DEMANDS_ATTENTION); - } - else if (action == NET_WM_STATE_TOGGLE) - { - FLAG_TOGGLE (c->flags, CLIENT_FLAG_DEMANDS_ATTENTION); - } - } - if ((first == display_info->atoms[NET_WM_STATE_MAXIMIZED_HORZ]) || (second == display_info->atoms[NET_WM_STATE_MAXIMIZED_HORZ]) || (first == display_info->atoms[NET_WM_STATE_MAXIMIZED_VERT]) || @@ -542,6 +525,26 @@ clientUpdateNetState (Client * c, XClientMessageEvent * ev) } frameDraw (c, TRUE); } + + if ((first == display_info->atoms[NET_WM_STATE_DEMANDS_ATTENTION]) || + (second == display_info->atoms[NET_WM_STATE_DEMANDS_ATTENTION])) + { + if ((action == NET_WM_STATE_ADD) && !FLAG_TEST (c->flags, CLIENT_FLAG_DEMANDS_ATTENTION)) + { + FLAG_SET (c->flags, CLIENT_FLAG_DEMANDS_ATTENTION); + clientSetNetState (c); + } + else if ((action == NET_WM_STATE_REMOVE) && FLAG_TEST (c->flags, CLIENT_FLAG_DEMANDS_ATTENTION)) + { + FLAG_UNSET (c->flags, CLIENT_FLAG_DEMANDS_ATTENTION); + clientSetNetState (c); + } + else if (action == NET_WM_STATE_TOGGLE) + { + FLAG_TOGGLE (c->flags, CLIENT_FLAG_DEMANDS_ATTENTION); + clientSetNetState (c); + } + } } void -- GitLab