From cf276fafd853356a71fb99e0c60a08c034b0d537 Mon Sep 17 00:00:00 2001 From: Dana Jansens Date: Fri, 13 May 2011 15:48:53 -0400 Subject: [PATCH] Fix Java apps always appearing on desktop 0. 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 | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/openbox/client.c b/openbox/client.c index 6a169336..1b010e4b 100644 --- a/openbox/client.c +++ b/openbox/client.c @@ -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 -- 2.44.0