summaryrefslogtreecommitdiff
path: root/openbox/focus.c
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2008-02-29 23:34:28 -0500
committerDana Jansens <danakj@orodu.net>2008-02-29 23:40:02 -0500
commit985e7dadf9a3ebf4bd265d955c3198e96405e5d2 (patch)
tree3e5f020b19a6f54d2439f340d3b18295d80105ee /openbox/focus.c
parentdb781556d63d1a50bd1b1b4b6b5423ef703bf2c7 (diff)
change some of the hooks, and add all the hooks to the code so that they run
Diffstat (limited to 'openbox/focus.c')
-rw-r--r--openbox/focus.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/openbox/focus.c b/openbox/focus.c
index 7c15891a..5eb27bc4 100644
--- a/openbox/focus.c
+++ b/openbox/focus.c
@@ -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,