From daa4399f4c449bb595f0fa7d2c42030ff5e53420 Mon Sep 17 00:00:00 2001
From: Olivier Fourdan <fourdan.olivier@wanadoo.fr>
Date: Sat, 20 Oct 2007 18:30:36 +0000
Subject: [PATCH] Set all dock type windows sticky by default, a few other
 window managers implement this behaviour and some apps rely on this (bug
 #3609)

(Old svn revision: 26157)
---
 src/netwm.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/src/netwm.c b/src/netwm.c
index f7ed0d2c5..ddad398fe 100644
--- a/src/netwm.c
+++ b/src/netwm.c
@@ -317,7 +317,7 @@ clientUpdateNetState (Client * c, XClientMessageEvent * ev)
     if ((first  == display_info->atoms[NET_WM_STATE_STICKY]) ||
         (second == display_info->atoms[NET_WM_STATE_STICKY]))
     {
-        if (!clientIsValidTransientOrModal (c) && FLAG_TEST (c->xfwm_flags, XFWM_FLAG_HAS_STICK))
+        if (FLAG_TEST (c->xfwm_flags, XFWM_FLAG_HAS_STICK))
         {
             if ((action == NET_WM_STATE_ADD) && !FLAG_TEST (c->flags, CLIENT_FLAG_STICKY))
             {
@@ -1182,8 +1182,9 @@ clientWindowType (Client * c)
             TRACE ("atom net_wm_window_type_dock detected");
             c->type = WINDOW_DOCK;
             c->initial_layer = WIN_LAYER_DOCK;
-            FLAG_SET (c->flags,
-                CLIENT_FLAG_SKIP_PAGER | CLIENT_FLAG_SKIP_TASKBAR);
+             FLAG_SET (c->flags,
+                CLIENT_FLAG_SKIP_PAGER | CLIENT_FLAG_STICKY |
+                CLIENT_FLAG_SKIP_TASKBAR);
             FLAG_UNSET (c->xfwm_flags,
                 XFWM_FLAG_HAS_BORDER |  XFWM_FLAG_HAS_MOVE |
                 XFWM_FLAG_HAS_HIDE | XFWM_FLAG_HAS_MAXIMIZE |
-- 
GitLab