]> Dogcows Code - chaz/openbox/blobdiff - openbox/client.c
add funcs to grab buttons and keys
[chaz/openbox] / openbox / client.c
index dfc7034838dd9ec4b485522c0d804a28a7b55f0a..3e5430f02a86f0ad19e65bbfcae781eadf8817c5 100644 (file)
@@ -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 */
This page took 0.023457 seconds and 4 git commands to generate.