summaryrefslogtreecommitdiff
path: root/openbox
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2003-03-18 08:48:14 +0000
committerDana Jansens <danakj@orodu.net>2003-03-18 08:48:14 +0000
commit6e29605d41cab8fd7e8ad6f28d6132bbd521f106 (patch)
tree8692b0881f917618c053c051a28e51568acf7270 /openbox
parent002bf5e7e6e5b741c86d951ddbdee670f9158324 (diff)
send the right client for unfocus events
Diffstat (limited to 'openbox')
-rw-r--r--openbox/focus.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/openbox/focus.c b/openbox/focus.c
index f1273c77..df29b7b8 100644
--- a/openbox/focus.c
+++ b/openbox/focus.c
@@ -32,6 +32,7 @@ void focus_startup()
void focus_set_client(Client *client)
{
Window active;
+ Client *old;
/* 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
@@ -47,14 +48,15 @@ void focus_set_client(Client *client)
XSetInputFocus(ob_display, focus_backup, RevertToNone, CurrentTime);
}
+ old = focus_client;
focus_client = client;
/* set the NET_ACTIVE_WINDOW hint */
active = client ? client->window : None;
PROP_SET32(ob_root, net_active_window, window, active);
- if (focus_client != NULL) {
+ if (focus_client != NULL)
dispatch_client(Event_Client_Focus, focus_client, 0, 0);
- dispatch_client(Event_Client_Unfocus, focus_client, 0, 0);
- }
+ if (old != NULL)
+ dispatch_client(Event_Client_Unfocus, old, 0, 0);
}