]> Dogcows Code - chaz/openbox/blobdiff - openbox/focus.c
add 'grab_server' for grabbing .. the .. server!
[chaz/openbox] / openbox / focus.c
index db78183d8046b62d7b22eb43bc186255883e7e18..cfc3485e25734121cec6e0fb919557165ca94c80 100644 (file)
@@ -32,10 +32,7 @@ void focus_startup()
 void focus_set_client(Client *client)
 {
     Window active;
-     
-    /* sometimes this is called with the already-focused window, this is
-       important for the python scripts to work (eg, c = 0 twice). don't just
-       return if _focused_client == c */
+    Client *old;
 
     /* uninstall the old colormap, and install the new one */
     screen_install_colormap(focus_client, FALSE);
@@ -47,9 +44,7 @@ void focus_set_client(Client *client)
        XSetInputFocus(ob_display, focus_backup, RevertToNone, CurrentTime);
     }
 
-    if (focus_client != NULL)
-        dispatch_client(Event_Client_Unfocus, focus_client);
-
+    old = focus_client;
     focus_client = client;
 
     /* set the NET_ACTIVE_WINDOW hint */
@@ -57,5 +52,7 @@ void focus_set_client(Client *client)
     PROP_SET32(ob_root, net_active_window, window, active);
 
     if (focus_client != NULL)
-        dispatch_client(Event_Client_Focus, focus_client);
+        dispatch_client(Event_Client_Focus, focus_client, 0, 0);
+    if (old != NULL)
+        dispatch_client(Event_Client_Unfocus, old, 0, 0);
 }
This page took 0.022976 seconds and 4 git commands to generate.