[Xfce4-commits] <xfwm4:master> Get rid or of old GNOME 1.x protocol

Olivier Fourdan noreply at xfce.org
Tue Oct 11 23:02:02 CEST 2011


Updating branch refs/heads/master
         to 60259483c75d230ff3139bb1c21c0d0c2b2c0d2a (commit)
       from 9982c00b3b7f6423faf9fe4a18cb92e85ce11c8f (commit)

commit 60259483c75d230ff3139bb1c21c0d0c2b2c0d2a
Author: Olivier Fourdan <fourdan at xfce.org>
Date:   Tue Oct 11 20:17:09 2011 +0200

    Get rid or of old GNOME 1.x protocol

 src/client.c     |  168 ++++++------------------------------------------------
 src/client.h     |   12 ++--
 src/display.c    |   10 ---
 src/display.h    |   10 ---
 src/events.c     |   60 ++++---------------
 src/focus.c      |    5 --
 src/hints.c      |   46 ---------------
 src/hints.h      |   16 -----
 src/main.c       |    6 --
 src/moveresize.c |    6 +-
 src/netwm.c      |   37 ++----------
 src/settings.c   |    4 -
 src/stacking.c   |    2 -
 src/workspaces.c |    2 -
 14 files changed, 46 insertions(+), 338 deletions(-)

diff --git a/src/client.c b/src/client.c
index 6cf7206..e48345b 100644
--- a/src/client.c
+++ b/src/client.c
@@ -287,10 +287,7 @@ clientUpdateAllFrames (ScreenInfo *screen_info, int mask)
             /* Recompute size and position of maximized windows */
             if (FLAG_TEST (c->flags, CLIENT_FLAG_MAXIMIZED_HORIZ | CLIENT_FLAG_MAXIMIZED_VERT))
             {
-                maximization_flags |= FLAG_TEST (c->flags,
-                    CLIENT_FLAG_MAXIMIZED_HORIZ) ? WIN_STATE_MAXIMIZED_HORIZ : 0;
-                maximization_flags |= FLAG_TEST (c->flags,
-                    CLIENT_FLAG_MAXIMIZED_VERT) ? WIN_STATE_MAXIMIZED_VERT : 0;
+                maximization_flags = c->flags & CLIENT_FLAG_MAXIMIZED;
 
                 /* Force an update by clearing the internal flags */
                 FLAG_UNSET (c->flags, CLIENT_FLAG_MAXIMIZED_HORIZ | CLIENT_FLAG_MAXIMIZED_VERT);
@@ -716,13 +713,9 @@ clientConfigure (Client * c, XWindowChanges * wc, unsigned long mask, unsigned s
     }
     mask &= ~(CWStackMode | CWSibling);
 
-    /* Keep control over what the application does. However, some broken apps try
-       to achieve fullscreen by using static gravity and a (0,0) position, the
-       second part of the test is for this case.
-     */
+    /* Keep control over what the application does. */
     if (((flags & (CFG_CONSTRAINED | CFG_REQUEST)) == (CFG_CONSTRAINED | CFG_REQUEST))
-         && CONSTRAINED_WINDOW (c)
-         && !((c->gravity == StaticGravity) && (c->x == 0) && (c->y == 0)))
+         && CONSTRAINED_WINDOW (c))
     {
         clientConstrainPos (c, flags & CFG_KEEP_VISIBLE);
 
@@ -851,7 +844,7 @@ clientMoveResizeWindow (Client * c, XWindowChanges * wc, unsigned long mask)
         {
             clientRemoveMaximizeFlag (c);
         }
-        flags |= CFG_REQUEST;
+        flags |= CFG_REQUEST | CFG_CONSTRAINED;
     }
     if ((mask & (CWWidth | CWHeight)) && !(mask & (CWX | CWY)))
     {
@@ -860,7 +853,7 @@ clientMoveResizeWindow (Client * c, XWindowChanges * wc, unsigned long mask)
          * position, make sure the window remains fully visible in that
          * case so that the user does not have to relocate the window
          */
-        flags |= CFG_CONSTRAINED | CFG_KEEP_VISIBLE;
+        flags |= CFG_KEEP_VISIBLE;
     }
     /*
      * Let's say that if the client performs a XRaiseWindow, we show the window if focus
@@ -1298,44 +1291,6 @@ clientFree (Client * c)
 }
 
 static void
-clientGetWinState (Client * c)
-{
-    g_return_if_fail (c != NULL);
-
-    TRACE ("entering clientGetWinState");
-
-    if (c->win_state & WIN_STATE_STICKY)
-    {
-        FLAG_SET (c->flags, CLIENT_FLAG_STICKY);
-    }
-    if (c->win_state & WIN_STATE_SHADED)
-    {
-        FLAG_SET (c->flags, CLIENT_FLAG_SHADED);
-    }
-    if (c->win_state & WIN_STATE_MAXIMIZED_HORIZ)
-    {
-        if (FLAG_TEST (c->xfwm_flags, XFWM_FLAG_HAS_MAXIMIZE))
-        {
-            FLAG_SET (c->flags, CLIENT_FLAG_MAXIMIZED_HORIZ);
-        }
-    }
-    if (c->win_state & WIN_STATE_MAXIMIZED_VERT)
-    {
-        if (FLAG_TEST (c->xfwm_flags, XFWM_FLAG_HAS_MAXIMIZE))
-        {
-            FLAG_SET (c->flags, CLIENT_FLAG_MAXIMIZED_VERT);
-        }
-    }
-    if (c->win_state & WIN_STATE_MAXIMIZED)
-    {
-        if (FLAG_TEST (c->xfwm_flags, XFWM_FLAG_HAS_MAXIMIZE))
-        {
-            FLAG_SET (c->flags, CLIENT_FLAG_MAXIMIZED);
-        }
-    }
-}
-
-static void
 clientApplyInitialState (Client * c)
 {
     g_return_if_fail (c != NULL);
@@ -1347,19 +1302,11 @@ clientApplyInitialState (Client * c)
     {
         if (FLAG_TEST (c->xfwm_flags, XFWM_FLAG_HAS_MAXIMIZE))
         {
-            unsigned long mode = 0;
+            unsigned long mode = 0L;
 
             TRACE ("Applying client's initial state: maximized");
-            if (FLAG_TEST (c->flags, CLIENT_FLAG_MAXIMIZED_HORIZ))
-            {
-                TRACE ("initial state: maximized horiz.");
-                mode |= WIN_STATE_MAXIMIZED_HORIZ;
-            }
-            if (FLAG_TEST (c->flags, CLIENT_FLAG_MAXIMIZED_VERT))
-            {
-                TRACE ("initial state: maximized vert.");
-                mode |= WIN_STATE_MAXIMIZED_VERT;
-            }
+            mode = c->flags & CLIENT_FLAG_MAXIMIZED;
+
             /* Unset fullscreen mode so that clientToggleMaximized() really change the state */
             FLAG_UNSET (c->flags, CLIENT_FLAG_MAXIMIZED);
             clientToggleMaximized (c, mode, FALSE);
@@ -1393,56 +1340,6 @@ clientApplyInitialState (Client * c)
     }
 }
 
-void
-clientUpdateWinState (Client * c, XClientMessageEvent * ev)
-{
-    unsigned long action;
-    Atom add_remove;
-
-    g_return_if_fail (c != NULL);
-    TRACE ("entering clientUpdateWinState");
-    TRACE ("client \"%s\" (0x%lx)", c->name, c->window);
-
-    action = ((XEvent *) ev)->xclient.data.l[0];
-    add_remove = ((XEvent *) ev)->xclient.data.l[1];
-
-    if (action & WIN_STATE_SHADED)
-    {
-        TRACE ("client \"%s\" (0x%lx) has received a win_state/shade event",
-            c->name, c->window);
-        if (add_remove == WIN_STATE_SHADED)
-        {
-            clientShade (c);
-        }
-        else
-        {
-            clientUnshade (c);
-        }
-    }
-    else if ((action & WIN_STATE_STICKY)
-             && FLAG_TEST (c->xfwm_flags, XFWM_FLAG_HAS_STICK))
-    {
-        TRACE ("client \"%s\" (0x%lx) has received a win_state/stick event",
-        c->name, c->window);
-        if (add_remove == WIN_STATE_STICKY)
-        {
-            clientStick (c, TRUE);
-        }
-        else
-        {
-            clientUnstick (c, TRUE);
-        }
-        frameQueueDraw (c, FALSE);
-    }
-    else if ((action & WIN_STATE_MAXIMIZED)
-             && FLAG_TEST (c->xfwm_flags, XFWM_FLAG_HAS_MAXIMIZE))
-    {
-        TRACE ("client \"%s\" (0x%lx) has received a win_state/maximize event",
-            c->name, c->window);
-        clientToggleMaximized (c, add_remove, TRUE);
-    }
-}
-
 static gboolean
 clientCheckShape (Client * c)
 {
@@ -1782,12 +1679,7 @@ clientFrame (DisplayInfo *display_info, Window w, gboolean recapture)
 
     clientGetWMProtocols (c);
     clientGetMWMHints (c, FALSE);
-    getHint (display_info, w, WIN_HINTS, (long *) &c->win_hints);
-    getHint (display_info, w, WIN_STATE, (long *) &c->win_state);
-    if (!getHint (display_info, w, WIN_LAYER, (long *) &c->win_layer))
-    {
-        c->win_layer = WIN_LAYER_NORMAL;
-    }
+    c->win_layer = WIN_LAYER_NORMAL;
     c->fullscreen_old_layer = c->win_layer;
 
     /* net_wm_user_time standard */
@@ -1811,7 +1703,6 @@ clientFrame (DisplayInfo *display_info, Window w, gboolean recapture)
     }
 
     /* Beware, order of calls is important here ! */
-    clientGetWinState (c);
     clientGetNetState (c);
     clientGetNetWmType (c);
     clientGetInitialNetWmDesktop (c);
@@ -2060,14 +1951,8 @@ clientUnframe (Client * c, gboolean remap)
         XDeleteProperty (display_info->dpy, c->window,
                          display_info->atoms[NET_WM_STATE]);
         XDeleteProperty (display_info->dpy, c->window,
-                         display_info->atoms[WIN_STATE]);
-        XDeleteProperty (display_info->dpy, c->window,
                          display_info->atoms[NET_WM_DESKTOP]);
         XDeleteProperty (display_info->dpy, c->window,
-                         display_info->atoms[WIN_WORKSPACE]);
-        XDeleteProperty (display_info->dpy, c->window,
-                         display_info->atoms[WIN_LAYER]);
-        XDeleteProperty (display_info->dpy, c->window,
                          display_info->atoms[NET_WM_ALLOWED_ACTIONS]);
     }
 
@@ -2259,7 +2144,6 @@ clientSetWorkspaceSingle (Client * c, guint ws)
     {
         TRACE ("setting client \"%s\" (0x%lx) to current_ws %d", c->name, c->window, ws);
         c->win_workspace = ws;
-        setHint (display_info, c->window, WIN_WORKSPACE, ws);
         if (FLAG_TEST (c->flags, CLIENT_FLAG_STICKY))
         {
             setHint (display_info, c->window, NET_WM_DESKTOP, (unsigned long) ALL_WORKSPACES);
@@ -2724,7 +2608,6 @@ clientSetLayer (Client * c, guint l)
             TRACE ("setting client \"%s\" (0x%lx) layer to %d", c2->name,
                 c2->window, l);
             c2->win_layer = l;
-            setHint (display_info, c2->window, WIN_LAYER, l);
         }
     }
     g_list_free (list_of_windows);
@@ -2762,7 +2645,6 @@ clientShade (Client * c)
     screen_info = c->screen_info;
     display_info = screen_info->display_info;
 
-    c->win_state |= WIN_STATE_SHADED;
     FLAG_SET (c->flags, CLIENT_FLAG_SHADED);
     if (FLAG_TEST (c->xfwm_flags, XFWM_FLAG_MANAGED))
     {
@@ -2816,7 +2698,6 @@ clientUnshade (Client * c)
     screen_info = c->screen_info;
     display_info = screen_info->display_info;
 
-    c->win_state &= ~WIN_STATE_SHADED;
     FLAG_UNSET (c->flags, CLIENT_FLAG_SHADED);
     if (FLAG_TEST (c->xfwm_flags, XFWM_FLAG_MANAGED))
     {
@@ -2873,7 +2754,6 @@ clientStick (Client * c, gboolean include_transients)
         for (list = list_of_windows; list; list = g_list_next (list))
         {
             c2 = (Client *) list->data;
-            c2->win_state |= WIN_STATE_STICKY;
             TRACE ("Sticking client \"%s\" (0x%lx)", c2->name, c2->window);
             FLAG_SET (c2->flags, CLIENT_FLAG_STICKY);
             setHint (display_info, c2->window, NET_WM_DESKTOP, (unsigned long) ALL_WORKSPACES);
@@ -2884,7 +2764,6 @@ clientStick (Client * c, gboolean include_transients)
     else
     {
         TRACE ("Sticking client \"%s\" (0x%lx)", c->name, c->window);
-        c->win_state |= WIN_STATE_STICKY;
         FLAG_SET (c->flags, CLIENT_FLAG_STICKY);
         setHint (display_info, c->window, NET_WM_DESKTOP, (unsigned long) ALL_WORKSPACES);
     }
@@ -2913,7 +2792,6 @@ clientUnstick (Client * c, gboolean include_transients)
         for (list = list_of_windows; list; list = g_list_next (list))
         {
             c2 = (Client *) list->data;
-            c2->win_state &= ~WIN_STATE_STICKY;
             TRACE ("Unsticking client \"%s\" (0x%lx)", c2->name, c2->window);
             FLAG_UNSET (c2->flags, CLIENT_FLAG_STICKY);
             setHint (display_info, c2->window, NET_WM_DESKTOP, (unsigned long) screen_info->current_ws);
@@ -2924,7 +2802,6 @@ clientUnstick (Client * c, gboolean include_transients)
     else
     {
         TRACE ("Unsticking client \"%s\" (0x%lx)", c->name, c->window);
-        c->win_state &= ~WIN_STATE_STICKY;
         FLAG_UNSET (c->flags, CLIENT_FLAG_STICKY);
         setHint (display_info, c->window, NET_WM_DESKTOP, (unsigned long) screen_info->current_ws);
     }
@@ -3133,7 +3010,6 @@ clientRemoveMaximizeFlag (Client * c)
     TRACE ("Removing maximize flag on client \"%s\" (0x%lx)", c->name,
         c->window);
 
-    c->win_state &= ~WIN_STATE_MAXIMIZED;
     FLAG_UNSET (c->flags, CLIENT_FLAG_MAXIMIZED);
     frameQueueDraw (c, FALSE);
     clientSetNetActions (c);
@@ -3152,37 +3028,33 @@ clientNewMaxState (Client * c, XWindowChanges *wc, int mode)
      * while either horizontal or vertical maximization still shows decorations...
      */
 
-    if ((mode & WIN_STATE_MAXIMIZED) == WIN_STATE_MAXIMIZED)
+    if ((mode & CLIENT_FLAG_MAXIMIZED) == CLIENT_FLAG_MAXIMIZED)
     {
         if (!FLAG_TEST (c->flags, CLIENT_FLAG_MAXIMIZED))
         {
-            c->win_state |= WIN_STATE_MAXIMIZED;
             FLAG_SET (c->flags, CLIENT_FLAG_MAXIMIZED);
             return;
         }
     }
 
-    if (mode & WIN_STATE_MAXIMIZED_HORIZ)
+    if (mode & CLIENT_FLAG_MAXIMIZED_HORIZ)
     {
         if (!FLAG_TEST (c->flags, CLIENT_FLAG_MAXIMIZED_HORIZ))
         {
-            c->win_state |= WIN_STATE_MAXIMIZED_HORIZ;
             FLAG_SET (c->flags, CLIENT_FLAG_MAXIMIZED_HORIZ);
             return;
         }
     }
 
-    if (mode & WIN_STATE_MAXIMIZED_VERT)
+    if (mode & CLIENT_FLAG_MAXIMIZED_VERT)
     {
         if (!FLAG_TEST (c->flags, CLIENT_FLAG_MAXIMIZED_VERT))
         {
-            c->win_state |= WIN_STATE_MAXIMIZED_VERT;
             FLAG_SET (c->flags, CLIENT_FLAG_MAXIMIZED_VERT);
             return;
         }
     }
 
-    c->win_state &= ~WIN_STATE_MAXIMIZED;
     FLAG_UNSET (c->flags, CLIENT_FLAG_MAXIMIZED);
     wc->x = c->old_x;
     wc->y = c->old_y;
@@ -3493,16 +3365,12 @@ clientScreenResize(ScreenInfo *screen_info, gboolean fully_visible)
         }
 
         /* Recompute size and position of maximized windows */
-        if (FLAG_TEST (c->flags, CLIENT_FLAG_MAXIMIZED_HORIZ | CLIENT_FLAG_MAXIMIZED_VERT))
+        if (FLAG_TEST (c->flags, CLIENT_FLAG_MAXIMIZED))
         {
-            /* Too bad, the flags used internally are different from the WIN_STATE_* bits */
-            maximization_flags |= FLAG_TEST (c->flags,
-                CLIENT_FLAG_MAXIMIZED_HORIZ) ? WIN_STATE_MAXIMIZED_HORIZ : 0;
-            maximization_flags |= FLAG_TEST (c->flags,
-                CLIENT_FLAG_MAXIMIZED_VERT) ? WIN_STATE_MAXIMIZED_VERT : 0;
+            maximization_flags = c->flags & CLIENT_FLAG_MAXIMIZED;
 
             /* Force an update by clearing the internal flags */
-            FLAG_UNSET (c->flags, CLIENT_FLAG_MAXIMIZED_HORIZ | CLIENT_FLAG_MAXIMIZED_VERT);
+            FLAG_UNSET (c->flags, CLIENT_FLAG_MAXIMIZED);
             clientToggleMaximized (c, maximization_flags, FALSE);
 
             wc.x = c->x;
@@ -3679,15 +3547,15 @@ clientButtonPress (Client * c, Window w, XButtonEvent * bev)
                 {
                     if (bev->button == Button1)
                     {
-                        clientToggleMaximized (c, WIN_STATE_MAXIMIZED, TRUE);
+                        clientToggleMaximized (c, CLIENT_FLAG_MAXIMIZED, TRUE);
                     }
                     else if (bev->button == Button2)
                     {
-                        clientToggleMaximized (c, WIN_STATE_MAXIMIZED_VERT, TRUE);
+                        clientToggleMaximized (c, CLIENT_FLAG_MAXIMIZED_VERT, TRUE);
                     }
                     else if (bev->button == Button3)
                     {
-                        clientToggleMaximized (c, WIN_STATE_MAXIMIZED_HORIZ, TRUE);
+                        clientToggleMaximized (c, CLIENT_FLAG_MAXIMIZED_HORIZ, TRUE);
                     }
                 }
                 break;
diff --git a/src/client.h b/src/client.h
index 58963ae..a5ef5ff 100644
--- a/src/client.h
+++ b/src/client.h
@@ -213,12 +213,12 @@
 #define CLIENT_CAN_HIDE_WINDOW(c)       (!(c->transient_for) && \
                                          FLAG_TEST(c->xfwm_flags, XFWM_FLAG_HAS_HIDE) && \
                                          !FLAG_TEST(c->flags, CLIENT_FLAG_SKIP_TASKBAR))
-#define CLIENT_CAN_MAXIMIZE_WINDOW(c)   (FLAG_TEST_AND_NOT(c->xfwm_flags, XFWM_FLAG_HAS_MAXIMIZE | \
-                                                                          XFWM_FLAG_HAS_RESIZE | \
-                                                                          XFWM_FLAG_IS_RESIZABLE) && \
+#define CLIENT_CAN_MAXIMIZE_WINDOW(c)   (FLAG_TEST(c->xfwm_flags, XFWM_FLAG_HAS_MAXIMIZE | \
+                                                                  XFWM_FLAG_HAS_RESIZE | \
+                                                                  XFWM_FLAG_IS_RESIZABLE) && \
                                          !FLAG_TEST (c->flags, CLIENT_FLAG_FULLSCREEN))
-#define CLIENT_CAN_FILL_WINDOW(c)       (FLAG_TEST_AND_NOT(c->xfwm_flags, XFWM_FLAG_HAS_RESIZE | \
-                                                                          XFWM_FLAG_IS_RESIZABLE) && \
+#define CLIENT_CAN_FILL_WINDOW(c)       (FLAG_TEST(c->xfwm_flags, XFWM_FLAG_HAS_RESIZE | \
+                                                                  XFWM_FLAG_IS_RESIZABLE) && \
                                          !FLAG_TEST (c->flags, CLIENT_FLAG_FULLSCREEN | CLIENT_FLAG_MAXIMIZED))
 
 typedef enum
@@ -254,8 +254,6 @@ struct _Client
     Window group_leader;
     xfwmPixmap appmenu[STATE_TOGGLED];
     Colormap cmap;
-    unsigned long win_hints;
-    unsigned long win_state;
     unsigned long win_layer;
     unsigned long serial;
     unsigned long initial_layer;
diff --git a/src/display.c b/src/display.c
index d370f26..cfe2f85 100644
--- a/src/display.c
+++ b/src/display.c
@@ -75,7 +75,6 @@ myDisplayInitAtoms (DisplayInfo *display_info)
 {
     static const char *atom_names[] = {
         "COMPOSITING_MANAGER",
-        "GNOME_PANEL_DESKTOP_AREA",
         "_KDE_NET_WM_SYSTEM_TRAY_WINDOW_FOR",
         "KWM_WIN_ICON",
         "_MOTIF_WM_HINTS",
@@ -156,15 +155,6 @@ myDisplayInitAtoms (DisplayInfo *display_info)
         "PIXMAP",
         "SM_CLIENT_ID",
         "UTF8_STRING",
-        "_WIN_CLIENT_LIST",
-        "_WIN_DESKTOP_BUTTON_PROXY",
-        "_WIN_HINTS",
-        "_WIN_LAYER",
-        "_WIN_PROTOCOLS",
-        "_WIN_STATE",
-        "_WIN_SUPPORTING_WM_CHECK",
-        "_WIN_WORKSPACE",
-        "_WIN_WORKSPACE_COUNT",
         "WM_CHANGE_STATE",
         "WM_CLIENT_LEADER",
         "WM_CLIENT_MACHINE",
diff --git a/src/display.h b/src/display.h
index 6bf7094..f2f5dc7 100644
--- a/src/display.h
+++ b/src/display.h
@@ -169,7 +169,6 @@ enum
 enum
 {
     COMPOSITING_MANAGER = 0,
-    GNOME_PANEL_DESKTOP_AREA,
     KDE_NET_WM_SYSTEM_TRAY_WINDOW_FOR,
     KWM_WIN_ICON,
     MOTIF_WM_HINTS,
@@ -250,15 +249,6 @@ enum
     PIXMAP,
     SM_CLIENT_ID,
     UTF8_STRING,
-    WIN_CLIENT_LIST,
-    WIN_DESKTOP_BUTTON_PROXY,
-    WIN_HINTS,
-    WIN_LAYER,
-    WIN_PROTOCOLS,
-    WIN_STATE,
-    WIN_SUPPORTING_WM_CHECK,
-    WIN_WORKSPACE,
-    WIN_WORKSPACE_COUNT,
     WM_CHANGE_STATE,
     WM_CLIENT_LEADER,
     WM_CLIENT_MACHINE,
diff --git a/src/events.c b/src/events.c
index dec1174..e0901dc 100644
--- a/src/events.c
+++ b/src/events.c
@@ -338,13 +338,13 @@ handleKeyPress (DisplayInfo *display_info, XKeyEvent * ev)
                 }
                 break;
             case KEY_MAXIMIZE_WINDOW:
-                clientToggleMaximized (c, WIN_STATE_MAXIMIZED, TRUE);
+                clientToggleMaximized (c, CLIENT_FLAG_MAXIMIZED, TRUE);
                 break;
             case KEY_MAXIMIZE_VERT:
-                clientToggleMaximized (c, WIN_STATE_MAXIMIZED_VERT, TRUE);
+                clientToggleMaximized (c, CLIENT_FLAG_MAXIMIZED_VERT, TRUE);
                 break;
             case KEY_MAXIMIZE_HORIZ:
-                clientToggleMaximized (c, WIN_STATE_MAXIMIZED_HORIZ, TRUE);
+                clientToggleMaximized (c, CLIENT_FLAG_MAXIMIZED_HORIZ, TRUE);
                 break;
             case KEY_SHADE_WINDOW:
                 clientToggleShaded (c);
@@ -696,7 +696,7 @@ button1Action (Client * c, XButtonEvent * ev)
         switch (screen_info->params->double_click_action)
         {
             case DOUBLE_CLICK_ACTION_MAXIMIZE:
-                clientToggleMaximized (c, WIN_STATE_MAXIMIZED, TRUE);
+                clientToggleMaximized (c, CLIENT_FLAG_MAXIMIZED, TRUE);
                 break;
             case DOUBLE_CLICK_ACTION_SHADE:
                 clientToggleShaded (c);
@@ -1813,11 +1813,6 @@ handlePropertyNotify (DisplayInfo *display_info, XPropertyEvent * ev)
                 c->transient_for = w;
             }
         }
-        else if (ev->atom == display_info->atoms[WIN_HINTS])
-        {
-            TRACE ("client \"%s\" (0x%lx) has received a WIN_HINTS notify", c->name, c->window);
-            getHint (display_info, c->window, WIN_HINTS, (long *) &c->win_hints);
-        }
         else if (ev->atom == display_info->atoms[NET_WM_WINDOW_TYPE])
         {
             TRACE ("client \"%s\" (0x%lx) has received a NET_WM_WINDOW_TYPE notify", c->name, c->window);
@@ -1928,12 +1923,6 @@ handlePropertyNotify (DisplayInfo *display_info, XPropertyEvent * ev)
             workspaceSetNames (screen_info, names, items);
         }
     }
-    else if (ev->atom == display_info->atoms[GNOME_PANEL_DESKTOP_AREA])
-    {
-        TRACE ("root has received a GNOME_PANEL_DESKTOP_AREA notify");
-        getGnomeDesktopMargins (display_info, screen_info->xroot, screen_info->gnome_margins);
-        workspaceUpdateArea (screen_info);
-    }
     else if (ev->atom == display_info->atoms[NET_DESKTOP_LAYOUT])
     {
         TRACE ("root has received a NET_DESKTOP_LAYOUT notify");
@@ -1952,7 +1941,13 @@ handleClientMessage (DisplayInfo *display_info, XClientMessageEvent * ev)
     Client *c;
 
     TRACE ("entering handleClientMessage");
+    TRACE ("handleClientMessage from window (0x%lx)", ev->window);
 
+    if (ev->window == None)
+    {
+        /* Some do not set the window member, not much we can do without */
+        return EVENT_FILTER_PASS;
+    }
     status = EVENT_FILTER_PASS;
     c = myDisplayGetClientFromWindow (display_info, ev->window, SEARCH_WINDOW);
     if (c)
@@ -1968,33 +1963,6 @@ handleClientMessage (DisplayInfo *display_info, XClientMessageEvent * ev)
                 clientWithdraw (c, c->win_workspace, TRUE);
             }
         }
-        else if ((ev->message_type == display_info->atoms[WIN_STATE]) && (ev->format == 32))
-        {
-            TRACE ("client \"%s\" (0x%lx) has received a WIN_STATE event", c->name, c->window);
-            clientUpdateWinState (c, ev);
-        }
-        else if ((ev->message_type == display_info->atoms[WIN_LAYER]) && (ev->format == 32))
-        {
-            TRACE ("client \"%s\" (0x%lx) has received a WIN_LAYER event", c->name, c->window);
-            /*
-             * Some apps that I wouldn't name try to manipulate the win layer by themselves
-             * and cause havoc when doing so on transient dialogs, so we need to be extra careful
-             * here before allowing apps to change the layer.
-             * Actually, I beleive twe should get rid of support of this old protocol...
-             */
-            if (!clientIsTransientOrModal(c) && ((unsigned long) ev->data.l[0] != c->win_layer))
-            {
-                clientSetLayer (c, ev->data.l[0]);
-            }
-        }
-        else if ((ev->message_type == display_info->atoms[WIN_WORKSPACE]) && (ev->format == 32))
-        {
-            TRACE ("client \"%s\" (0x%lx) has received a WIN_WORKSPACE event", c->name, c->window);
-            if (ev->data.l[0] != (long) c->win_workspace)
-            {
-                clientSetWorkspace (c, (guint) ev->data.l[0], TRUE);
-            }
-        }
         else if ((ev->message_type == display_info->atoms[NET_WM_DESKTOP]) && (ev->format == 32))
         {
             TRACE ("client \"%s\" (0x%lx) has received a NET_WM_DESKTOP event", c->name, c->window);
@@ -2066,8 +2034,7 @@ handleClientMessage (DisplayInfo *display_info, XClientMessageEvent * ev)
         }
 
         status = EVENT_FILTER_REMOVE;
-        if (((ev->message_type == display_info->atoms[WIN_WORKSPACE]) ||
-             (ev->message_type == display_info->atoms[NET_CURRENT_DESKTOP])) && (ev->format == 32))
+        if ((ev->message_type == display_info->atoms[NET_CURRENT_DESKTOP]) && (ev->format == 32))
         {
             TRACE ("root has received a win_workspace or a NET_CURRENT_DESKTOP event %li", ev->data.l[0]);
             if ((ev->data.l[0] >= 0) && (ev->data.l[0] < (long) screen_info->workspace_count) &&
@@ -2077,8 +2044,7 @@ handleClientMessage (DisplayInfo *display_info, XClientMessageEvent * ev)
                                  myDisplayGetTime (display_info, (guint32) ev->data.l[1]));
             }
         }
-        else if (((ev->message_type == display_info->atoms[WIN_WORKSPACE_COUNT]) ||
-                  (ev->message_type == display_info->atoms[NET_NUMBER_OF_DESKTOPS])) && (ev->format == 32))
+        else if ((ev->message_type == display_info->atoms[NET_NUMBER_OF_DESKTOPS]) && (ev->format == 32))
         {
             TRACE ("root has received a win_workspace_count event");
             if (ev->data.l[0] != (long) screen_info->workspace_count)
@@ -2415,7 +2381,7 @@ menu_callback (Menu * menu, MenuOp op, Window xid, gpointer menu_data, gpointer
             case MENU_OP_UNMAXIMIZE:
                 if (CLIENT_CAN_MAXIMIZE_WINDOW (c))
                 {
-                    clientToggleMaximized (c, WIN_STATE_MAXIMIZED, TRUE);
+                    clientToggleMaximized (c, CLIENT_FLAG_MAXIMIZED, TRUE);
                 }
                 break;
             case MENU_OP_MINIMIZE:
diff --git a/src/focus.c b/src/focus.c
index bc6e810..49e4665 100644
--- a/src/focus.c
+++ b/src/focus.c
@@ -392,11 +392,6 @@ clientAcceptFocus (Client * c)
     {
         return TRUE;
     }
-    /* First check GNOME protocol */
-    if (c->win_hints & WIN_HINTS_SKIP_FOCUS)
-    {
-        return FALSE;
-    }
     if ((c->screen_info->params->focus_hint)
         && !FLAG_TEST (c->wm_flags, WM_FLAG_INPUT | WM_FLAG_TAKEFOCUS))
     {
diff --git a/src/hints.c b/src/hints.c
index 8a28b0f..41fd99c 100644
--- a/src/hints.c
+++ b/src/hints.c
@@ -338,52 +338,6 @@ getDesktopLayout (DisplayInfo *display_info, Window root, int ws_count, NetWmDes
 }
 
 void
-getGnomeDesktopMargins (DisplayInfo *display_info, Window root, int * m)
-{
-    Atom real_type;
-    int real_format;
-    unsigned long items_read, items_left;
-    unsigned long *ptr;
-    unsigned char *data;
-
-    TRACE ("entering getGnomeDesktopMargins");
-
-    ptr = NULL;
-    data = NULL;
-    if ((XGetWindowProperty (display_info->dpy, root,
-                display_info->atoms[GNOME_PANEL_DESKTOP_AREA], 0L, 4L, FALSE, XA_CARDINAL,
-                &real_type, &real_format, &items_read, &items_left,
-                (unsigned char **) &data) == Success) && (items_read >= 4))
-    {
-        ptr = (unsigned long *) data;
-        m[0] = (int) *ptr++;
-        m[1] = (int) *ptr++;
-        m[2] = (int) *ptr++;
-        m[3] = (int) *ptr++;
-        XFree (data);
-    }
-    else
-    {
-        m[0] = 0;
-        m[1] = 0;
-        m[2] = 0;
-        m[3] = 0;
-    }
-}
-
-void
-setGnomeProtocols (DisplayInfo *display_info, Window root, Window w)
-{
-    Atom atoms[1];
-
-    atoms[0] = display_info->atoms[WIN_LAYER];
-    XChangeProperty (display_info->dpy, root, display_info->atoms[WIN_PROTOCOLS], XA_ATOM,
-                     32, PropModeReplace, (unsigned char *) atoms, 1);
-    setHint (display_info, w, WIN_SUPPORTING_WM_CHECK, w);
-    setHint (display_info, root, WIN_SUPPORTING_WM_CHECK, w);
-}
-
-void
 setNetSupportedHint (DisplayInfo *display_info, Window root, Window check_win)
 {
     Atom atoms[ATOM_COUNT];
diff --git a/src/hints.h b/src/hints.h
index e1f0aa9..70a5c80 100644
--- a/src/hints.h
+++ b/src/hints.h
@@ -70,16 +70,6 @@
 
 #define MWM_TEAROFF_WINDOW                      (1L<<0)
 
-#define WIN_STATE_STICKY                        (1L<<0)
-#define WIN_STATE_MAXIMIZED_VERT                (1L<<2)
-#define WIN_STATE_MAXIMIZED_HORIZ               (1L<<3)
-#define WIN_STATE_MAXIMIZED                     (WIN_STATE_MAXIMIZED_VERT | \
-                                                 WIN_STATE_MAXIMIZED_HORIZ)
-#define WIN_STATE_SHADED                        (1L<<5)
-
-#define WIN_HINTS_SKIP_FOCUS                    (1L<<0)
-#define WIN_HINTS_SKIP_TASKBAR                  (1L<<2)
-
 #define WM_PROTOCOLS_TAKE_FOCUS                 (1L<<0)
 #define WM_PROTOCOLS_DELETE_WINDOW              (1L<<1)
 #define WM_PROTOCOLS_CONTEXT_HELP               (1L<<2)
@@ -174,12 +164,6 @@ void                     getDesktopLayout                       (DisplayInfo *,
                                                                  Window,
                                                                  int,
                                                                  NetWmDesktopLayout *);
-void                     getGnomeDesktopMargins                 (DisplayInfo *,
-                                                                 Window,
-                                                                 int *);
-void                     setGnomeProtocols                      (DisplayInfo *,
-                                                                 Window,
-                                                                 Window);
 void                     setNetSupportedHint                    (DisplayInfo *,
                                                                  Window,
                                                                  Window);
diff --git a/src/main.c b/src/main.c
index 0f1cb1e..b812310 100644
--- a/src/main.c
+++ b/src/main.c
@@ -483,13 +483,7 @@ initialize (gint compositor_mode, gboolean replace_wm)
 
         sn_init_display (screen_info);
         myDisplayAddScreen (main_display_info, screen_info);
-        setGnomeProtocols (main_display_info, screen_info->xroot, screen_info->xfwm4_win);
-        setHint (main_display_info, screen_info->xroot, WIN_SUPPORTING_WM_CHECK, screen_info->xfwm4_win);
-        setHint (main_display_info, screen_info->xroot, WIN_DESKTOP_BUTTON_PROXY, screen_info->xfwm4_win);
-        setHint (main_display_info, screen_info->xfwm4_win, WIN_DESKTOP_BUTTON_PROXY, screen_info->xfwm4_win);
-        getHint (main_display_info, screen_info->xroot, WIN_WORKSPACE, &ws);
         screen_info->current_ws = (int) ws;
-        getGnomeDesktopMargins (main_display_info, screen_info->xroot, screen_info->gnome_margins);
         setUTF8StringHint (main_display_info, screen_info->xfwm4_win, NET_WM_NAME, "Xfwm4");
         setNetSupportedHint (main_display_info, screen_info->xroot, screen_info->xfwm4_win);
         initNetDesktopInfo (main_display_info, screen_info->xroot, screen_info->current_ws,
diff --git a/src/moveresize.c b/src/moveresize.c
index a59bc1e..8b6b45c 100644
--- a/src/moveresize.c
+++ b/src/moveresize.c
@@ -695,7 +695,7 @@ clientMoveEventFilter (XEvent * xevent, gpointer data)
             if (toggled_maximize)
             {
                 toggled_maximize = FALSE;
-                clientToggleMaximized (c, WIN_STATE_MAXIMIZED, FALSE);
+                clientToggleMaximized (c, CLIENT_FLAG_MAXIMIZED, FALSE);
                 configure_flags = CFG_FORCE_REDRAW;
                 passdata->move_resized = TRUE;
             }
@@ -857,7 +857,7 @@ clientMoveEventFilter (XEvent * xevent, gpointer data)
 
                 xratio = (xevent->xmotion.x_root - c->x)/(double)c->width;
 
-                clientToggleMaximized (c, WIN_STATE_MAXIMIZED, FALSE);
+                clientToggleMaximized (c, CLIENT_FLAG_MAXIMIZED, FALSE);
                 passdata->move_resized = TRUE;
                 passdata->ox = c->x;
                 passdata->mx = CLAMP(c->x + c->width * xratio, c->x, c->x + c->width);
@@ -881,7 +881,7 @@ clientMoveEventFilter (XEvent * xevent, gpointer data)
         {
             if ((clientConstrainPos (c, FALSE) & CLIENT_CONSTRAINED_TOP) && toggled_maximize)
             {
-                clientToggleMaximized (c, WIN_STATE_MAXIMIZED, FALSE);
+                clientToggleMaximized (c, CLIENT_FLAG_MAXIMIZED, FALSE);
                 configure_flags = CFG_FORCE_REDRAW;
                 toggled_maximize = FALSE;
                 passdata->move_resized = TRUE;
diff --git a/src/netwm.c b/src/netwm.c
index fcd6123..1886474 100644
--- a/src/netwm.c
+++ b/src/netwm.c
@@ -133,11 +133,6 @@ clientSetNetState (Client * c)
     XChangeProperty (display_info->dpy, c->window,
                      display_info->atoms[NET_WM_STATE], XA_ATOM, 32,
                      PropModeReplace, (unsigned char *) data, i);
-    /*
-       We also set GNOME hint here for consistency and convenience,
-       although the meaning of net_wm_state and win_state aren't the same.
-     */
-    setHint (display_info, c->window, WIN_STATE, c->win_state);
 }
 
 void
@@ -162,25 +157,21 @@ clientGetNetState (Client * c)
         if (FLAG_TEST (c->flags, CLIENT_FLAG_SHADED))
         {
             TRACE ("clientGetNetState : shaded from session management");
-            c->win_state |= WIN_STATE_SHADED;
             FLAG_SET (c->flags, CLIENT_FLAG_SHADED);
         }
         if (FLAG_TEST (c->flags, CLIENT_FLAG_STICKY))
         {
             TRACE ("clientGetNetState : sticky from session management");
-            c->win_state |= WIN_STATE_STICKY;
             FLAG_SET (c->flags, CLIENT_FLAG_STICKY);
         }
         if (FLAG_TEST (c->flags, CLIENT_FLAG_MAXIMIZED_HORIZ))
         {
             TRACE ("clientGetNetState : maximized horiz from session management");
-            c->win_state |= WIN_STATE_MAXIMIZED_HORIZ;
             FLAG_SET (c->flags, CLIENT_FLAG_MAXIMIZED_HORIZ);
         }
         if (FLAG_TEST (c->flags, CLIENT_FLAG_MAXIMIZED_VERT))
         {
             TRACE ("clientGetNetState : maximized vert from session management");
-            c->win_state |= WIN_STATE_MAXIMIZED_VERT;
             FLAG_SET (c->flags, CLIENT_FLAG_MAXIMIZED_VERT);
         }
     }
@@ -196,25 +187,21 @@ clientGetNetState (Client * c)
             if ((atoms[i] == display_info->atoms[NET_WM_STATE_SHADED]))
             {
                 TRACE ("clientGetNetState : shaded");
-                c->win_state |= WIN_STATE_SHADED;
                 FLAG_SET (c->flags, CLIENT_FLAG_SHADED);
             }
             else if ((atoms[i] == display_info->atoms[NET_WM_STATE_STICKY]))
             {
                 TRACE ("clientGetNetState : sticky");
-                c->win_state |= WIN_STATE_STICKY;
                 FLAG_SET (c->flags, CLIENT_FLAG_STICKY);
             }
             else if ((atoms[i] == display_info->atoms[NET_WM_STATE_MAXIMIZED_HORZ]))
             {
                 TRACE ("clientGetNetState : maximized horiz");
-                c->win_state |= WIN_STATE_MAXIMIZED_HORIZ;
                 FLAG_SET (c->flags, CLIENT_FLAG_MAXIMIZED_HORIZ);
             }
             else if ((atoms[i] == display_info->atoms[NET_WM_STATE_MAXIMIZED_VERT]))
             {
                 TRACE ("clientGetNetState : maximized vert");
-                c->win_state |= WIN_STATE_MAXIMIZED_VERT;
                 FLAG_SET (c->flags, CLIENT_FLAG_MAXIMIZED_VERT);
             }
             else if ((atoms[i] == display_info->atoms[NET_WM_STATE_FULLSCREEN]))
@@ -351,16 +338,16 @@ clientUpdateNetState (Client * c, XClientMessageEvent * ev)
         {
             if ((action == NET_WM_STATE_ADD) && !FLAG_TEST (c->flags, CLIENT_FLAG_MAXIMIZED))
             {
-                mode = 0;
+                mode = 0L;
                 if ((first  == display_info->atoms[NET_WM_STATE_MAXIMIZED_HORZ]) ||
                     (second == display_info->atoms[NET_WM_STATE_MAXIMIZED_HORZ]))
                 {
-                    mode |= !FLAG_TEST (c->flags, CLIENT_FLAG_MAXIMIZED_HORIZ) ? WIN_STATE_MAXIMIZED_HORIZ : 0;
+                    mode |= !FLAG_TEST (c->flags, CLIENT_FLAG_MAXIMIZED_HORIZ) ? CLIENT_FLAG_MAXIMIZED_HORIZ : 0;
                 }
                 if ((first  == display_info->atoms[NET_WM_STATE_MAXIMIZED_VERT]) ||
                     (second == display_info->atoms[NET_WM_STATE_MAXIMIZED_VERT]))
                 {
-                    mode |= !FLAG_TEST (c->flags, CLIENT_FLAG_MAXIMIZED_VERT) ? WIN_STATE_MAXIMIZED_VERT : 0;
+                    mode |= !FLAG_TEST (c->flags, CLIENT_FLAG_MAXIMIZED_VERT) ? CLIENT_FLAG_MAXIMIZED_VERT : 0;
                 }
                 clientToggleMaximized (c, mode, TRUE);
             }
@@ -370,12 +357,12 @@ clientUpdateNetState (Client * c, XClientMessageEvent * ev)
                 if ((first  == display_info->atoms[NET_WM_STATE_MAXIMIZED_HORZ]) ||
                     (second == display_info->atoms[NET_WM_STATE_MAXIMIZED_HORZ]))
                 {
-                    mode |= FLAG_TEST (c->flags, CLIENT_FLAG_MAXIMIZED_HORIZ) ? WIN_STATE_MAXIMIZED_HORIZ : 0;
+                    mode |= FLAG_TEST (c->flags, CLIENT_FLAG_MAXIMIZED_HORIZ);
                 }
                 if ((first  == display_info->atoms[NET_WM_STATE_MAXIMIZED_VERT]) ||
                     (second == display_info->atoms[NET_WM_STATE_MAXIMIZED_VERT]))
                 {
-                    mode |= FLAG_TEST (c->flags, CLIENT_FLAG_MAXIMIZED_VERT) ? WIN_STATE_MAXIMIZED_VERT : 0;
+                    mode |= FLAG_TEST (c->flags, CLIENT_FLAG_MAXIMIZED_VERT);
                 }
                 clientToggleMaximized (c, mode, TRUE);
             }
@@ -385,12 +372,12 @@ clientUpdateNetState (Client * c, XClientMessageEvent * ev)
                 if ((first  == display_info->atoms[NET_WM_STATE_MAXIMIZED_HORZ]) ||
                     (second == display_info->atoms[NET_WM_STATE_MAXIMIZED_HORZ]))
                 {
-                    mode |= WIN_STATE_MAXIMIZED_HORIZ;
+                    mode |= CLIENT_FLAG_MAXIMIZED_HORIZ;
                 }
                 if ((first  == display_info->atoms[NET_WM_STATE_MAXIMIZED_VERT]) ||
                     (second == display_info->atoms[NET_WM_STATE_MAXIMIZED_VERT]))
                 {
-                    mode |= WIN_STATE_MAXIMIZED_VERT;
+                    mode |= CLIENT_FLAG_MAXIMIZED_VERT;
                 }
                 clientToggleMaximized (c, mode, TRUE);
             }
@@ -862,7 +849,6 @@ clientGetInitialNetWmDesktop (Client * c)
             {
                 TRACE ("atom net_wm_desktop specifies window \"%s\" is sticky", c->name);
                 FLAG_SET (c->flags, CLIENT_FLAG_STICKY);
-                c->win_state |= WIN_STATE_STICKY;
             }
             c->win_workspace = c->screen_info->current_ws;
         }
@@ -873,12 +859,6 @@ clientGetInitialNetWmDesktop (Client * c)
         }
         FLAG_SET (c->xfwm_flags, XFWM_FLAG_WORKSPACE_SET);
     }
-    else if (getHint (display_info, c->window, WIN_WORKSPACE, &val))
-    {
-        TRACE ("atom win_workspace specifies window \"%s\" is on desk %i", c->name, (int) val);
-        c->win_workspace = (int) val;
-        FLAG_SET (c->xfwm_flags, XFWM_FLAG_WORKSPACE_SET);
-    }
 
     /* This is to make sure that transient are shown with their "ancestor" window */
     if (!FLAG_TEST (c->flags, CLIENT_FLAG_STICKY))
@@ -891,7 +871,6 @@ clientGetInitialNetWmDesktop (Client * c)
             if (FLAG_TEST (c2->flags, CLIENT_FLAG_STICKY))
             {
                 FLAG_SET (c->flags, CLIENT_FLAG_STICKY);
-                c->win_state |= WIN_STATE_STICKY;
                 c->win_workspace = c->screen_info->current_ws;
             }
         }
@@ -905,7 +884,6 @@ clientGetInitialNetWmDesktop (Client * c)
         FLAG_SET (c->xfwm_flags, XFWM_FLAG_WORKSPACE_SET);
     }
     TRACE ("initial desktop for window \"%s\" is %i", c->name, c->win_workspace);
-    setHint (display_info, c->window, WIN_WORKSPACE, c->win_workspace);
     if (FLAG_TEST (c->flags, CLIENT_FLAG_STICKY))
     {
         setHint (display_info, c->window, NET_WM_DESKTOP, (unsigned long) ALL_WORKSPACES);
@@ -1193,7 +1171,6 @@ clientWindowType (Client * c)
             TRACE ("atom net_wm_window_type_desktop detected");
             c->type = WINDOW_DESKTOP;
             c->initial_layer = WIN_LAYER_DESKTOP;
-            c->win_state |= WIN_STATE_STICKY;
             FLAG_SET (c->flags,
                 CLIENT_FLAG_SKIP_PAGER | CLIENT_FLAG_STICKY |
                 CLIENT_FLAG_SKIP_TASKBAR);
diff --git a/src/settings.c b/src/settings.c
index 20efbc6..58175f3 100644
--- a/src/settings.c
+++ b/src/settings.c
@@ -1036,10 +1036,6 @@ initSettings (ScreenInfo *screen_info)
     {
         workspaceSetCount (screen_info, val);
     }
-    else if (getHint (display_info, screen_info->xroot, WIN_WORKSPACE_COUNT, &val))
-    {
-        workspaceSetCount (screen_info, val);
-    }
 
     if (getUTF8StringList (display_info, screen_info->xroot, NET_DESKTOP_NAMES, &names, &i))
     {
diff --git a/src/stacking.c b/src/stacking.c
index 4baed7e..b41dd30 100644
--- a/src/stacking.c
+++ b/src/stacking.c
@@ -600,7 +600,6 @@ clientAddToList (Client * c)
     screen_info->windows_stack = g_list_append (screen_info->windows_stack, c);
 
     clientSetNetClientList (screen_info, display_info->atoms[NET_CLIENT_LIST], screen_info->windows);
-    clientSetNetClientList (screen_info, display_info->atoms[WIN_CLIENT_LIST], screen_info->windows);
 
     FLAG_SET (c->xfwm_flags, XFWM_FLAG_MANAGED);
 }
@@ -643,7 +642,6 @@ clientRemoveFromList (Client * c)
     screen_info->windows_stack = g_list_remove (screen_info->windows_stack, c);
 
     clientSetNetClientList (screen_info, display_info->atoms[NET_CLIENT_LIST], screen_info->windows);
-    clientSetNetClientList (screen_info, display_info->atoms[WIN_CLIENT_LIST], screen_info->windows);
     clientSetNetClientList (screen_info, display_info->atoms[NET_CLIENT_LIST_STACKING], screen_info->windows_stack);
 
     FLAG_UNSET (c->xfwm_flags, XFWM_FLAG_MANAGED);
diff --git a/src/workspaces.c b/src/workspaces.c
index c4c4c6a..ef3fc15 100644
--- a/src/workspaces.c
+++ b/src/workspaces.c
@@ -368,7 +368,6 @@ workspaceSwitch (ScreenInfo *screen_info, gint new_ws, Client * c2, gboolean upd
         }
     }
 
-    setHint (display_info, screen_info->xroot, WIN_WORKSPACE, new_ws);
     data[0] = new_ws;
     XChangeProperty (myScreenGetXDisplay (screen_info), screen_info->xroot,
                      display_info->atoms[NET_CURRENT_DESKTOP], XA_CARDINAL, 32,
@@ -443,7 +442,6 @@ workspaceSetCount (ScreenInfo * screen_info, guint count)
     }
 
     display_info = screen_info->display_info;
-    setHint (display_info, screen_info->xroot, WIN_WORKSPACE_COUNT, count);
     setHint (display_info, screen_info->xroot, NET_NUMBER_OF_DESKTOPS, count);
     screen_info->workspace_count = count;
 


More information about the Xfce4-commits mailing list