]> Dogcows Code - chaz/openbox/blobdiff - openbox/focus.c
change some of the hooks, and add all the hooks to the code so that they run
[chaz/openbox] / openbox / focus.c
index 7c15891a60e416d39910c0706c8498a9c911b9ff..5eb27bc4be574aec7a14a7eef29ad3da65de750b 100644 (file)
@@ -27,6 +27,7 @@
 #include "focus_cycle.h"
 #include "screen.h"
 #include "keyboard.h"
+#include "hooks.h"
 #include "focus.h"
 #include "stacking.h"
 #include "obt/prop.h"
@@ -72,6 +73,7 @@ static void push_to_top(ObClient *client)
 void focus_set_client(ObClient *client)
 {
     Window active;
+    ObClient *old;
 
     ob_debug_type(OB_DEBUG_FOCUS,
                   "focus_set_client 0x%lx", client ? client->window : 0);
@@ -87,6 +89,7 @@ void focus_set_client(ObClient *client)
     focus_cycle_stop(focus_client);
     focus_cycle_stop(client);
 
+    old = focus_client;
     focus_client = client;
 
     if (client != NULL) {
@@ -101,6 +104,9 @@ void focus_set_client(ObClient *client)
         active = client ? client->window : None;
         OBT_PROP_SET32(obt_root(ob_screen), NET_ACTIVE_WINDOW, WINDOW, active);
     }
+
+    hooks_run(OB_HOOK_WIN_UNFOCUS, old);
+    hooks_run(OB_HOOK_WIN_FOCUS, client);
 }
 
 static ObClient* focus_fallback_target(gboolean allow_refocus,
This page took 0.02526 seconds and 4 git commands to generate.