From 8afce72c5e2de2f8d5c53429e7609d87282e6c57 Mon Sep 17 00:00:00 2001
From: Olivier Fourdan <fourdan.olivier@wanadoo.fr>
Date: Sat, 30 Dec 2006 21:58:51 +0000
Subject: [PATCH] Do not apply NET_WM_STATE_DEMANDS_ATTENTION if client is
 already focused, as some apps seem to request NET_WM_STATE_DEMANDS_ATTENTION
 state even while focused (See comment #14 in bug #2678)

(Old svn revision: 24223)
---
 src/netwm.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/netwm.c b/src/netwm.c
index 6ed81248f..d6301e286 100644
--- a/src/netwm.c
+++ b/src/netwm.c
@@ -35,6 +35,7 @@
 #include "compositor.h"
 #include "display.h"
 #include "frame.h"
+#include "focus.h"
 #include "hints.h"
 #include "misc.h"
 #include "netwm.h"
@@ -120,7 +121,9 @@ clientSetNetState (Client * c)
         TRACE ("clientSetNetState : hidden");
         data[i++] = display_info->atoms[NET_WM_STATE_HIDDEN];
     }
-    if (FLAG_TEST (c->flags, CLIENT_FLAG_DEMANDS_ATTENTION))
+    /* Do not apply NET_WM_STATE_DEMANDS_ATTENTION if client is already focused */
+    if ((c != clientGetFocusOrPending ()) && 
+        FLAG_TEST (c->flags, CLIENT_FLAG_DEMANDS_ATTENTION))
     {
         TRACE ("clientSetNetState : demands_attention");
         data[i++] = display_info->atoms[NET_WM_STATE_DEMANDS_ATTENTION];
-- 
GitLab