diff options
| author | Dana Jansens <danakj@orodu.net> | 2003-03-18 08:48:14 +0000 |
|---|---|---|
| committer | Dana Jansens <danakj@orodu.net> | 2003-03-18 08:48:14 +0000 |
| commit | 6e29605d41cab8fd7e8ad6f28d6132bbd521f106 (patch) | |
| tree | 8692b0881f917618c053c051a28e51568acf7270 /openbox | |
| parent | 002bf5e7e6e5b741c86d951ddbdee670f9158324 (diff) | |
send the right client for unfocus events
Diffstat (limited to 'openbox')
| -rw-r--r-- | openbox/focus.c | 8 |
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); } |
