X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=openbox%2Fclient.c;h=3e5430f02a86f0ad19e65bbfcae781eadf8817c5;hb=e442c6cc56813ac2d80ddf956603b6d0123d8145;hp=dfc7034838dd9ec4b485522c0d804a28a7b55f0a;hpb=648c55b829e09c66222a9bbf08d10434622feae2;p=chaz%2Fopenbox diff --git a/openbox/client.c b/openbox/client.c index dfc70348..3e5430f0 100644 --- a/openbox/client.c +++ b/openbox/client.c @@ -121,6 +121,7 @@ void client_manage(Window window) XWindowAttributes attrib; XSetWindowAttributes attrib_set; /* XWMHints *wmhint; */ + guint i; grab_server(TRUE); @@ -187,6 +188,15 @@ void client_manage(Window window) stacking_list = g_list_append(stacking_list, client); g_hash_table_insert(client_map, (gpointer)window, client); + /* update the focus lists */ + if (client->desktop == DESKTOP_ALL) { + for (i = 0; i < screen_num_desktops; ++i) + focus_order[i] = g_list_append(focus_order[i], client); + } else { + i = client->desktop; + focus_order[i] = g_list_append(focus_order[i], client); + } + stacking_raise(client); screen_update_struts(); @@ -197,9 +207,6 @@ void client_manage(Window window) dispatch_client(Event_Client_Mapped, client, 0, 0); - /* grab all mouse bindings */ - /*pointer_grab_all(client, TRUE);XXX*/ - /* update the list hints */ client_set_list(); @@ -228,9 +235,6 @@ void client_unmanage(Client *client) /* we dont want events no more */ XSelectInput(ob_display, client->window, NoEventMask); - /* ungrab any mouse bindings */ - /*pointer_grab_all(client, FALSE);XXX*/ - engine_frame_hide(client->frame); /* give the client its border back */