Fix Java apps always appearing on desktop 0.
authorDana Jansens <danakj@orodu.net>
Fri, 13 May 2011 19:48:53 +0000 (15:48 -0400)
committerDana Jansens <danakj@orodu.net>
Fri, 13 May 2011 19:52:17 +0000 (15:52 -0400)
Fake managing a window doesn't read a requested desktop, but ended up placing
  a NET_WM_DESKTOP hint on the window (with value 0).  Fake managing doesn't
  need to set the DESKTOP hint since the window is not actually being managed,
  so remove it from the codepath.

openbox/client.c

index 6a16933..1b010e4 100644 (file)
@@ -437,6 +437,10 @@ void client_manage(Window window, ObPrompt *prompt)
     client_apply_startup_state(self, place.x, place.y,
                                place.width, place.height);
 
+    /* set the initial value of the desktop hint, when one wasn't requested
+       on map. */
+    OBT_PROP_SET32(self->window, NET_WM_DESKTOP, CARDINAL, self->desktop);
+
     /* grab mouse bindings before showing the window */
     mouse_grab_for_client(self, TRUE);
 
@@ -2792,9 +2796,6 @@ static void client_apply_startup_state(ObClient *self,
     self->area = oldarea;
     client_configure(self, x, y, w, h, FALSE, TRUE, FALSE);
 
-    /* set the desktop hint, to make sure that it always exists */
-    OBT_PROP_SET32(self->window, NET_WM_DESKTOP, CARDINAL, self->desktop);
-
     /* nothing to do for the other states:
        skip_taskbar
        skip_pager