X-Git-Url: https://git.brokenzipper.com/gitweb?a=blobdiff_plain;f=openbox%2Ffocus.c;h=df29b7b89cc720a39f7b4bfc6ae98cbfbe97f470;hb=77bd01662820449ea9c958894fdba13ae3761d37;hp=0674c8ff0e5c0a0b95705bb5d4060c72ddf18a23;hpb=bfea000a7407e51b5659590415e410a47f6f046b;p=chaz%2Fopenbox diff --git a/openbox/focus.c b/openbox/focus.c index 0674c8ff..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,9 +48,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, 0, 0); - + old = focus_client; focus_client = client; /* set the NET_ACTIVE_WINDOW hint */ @@ -58,4 +57,6 @@ void focus_set_client(Client *client) if (focus_client != NULL) dispatch_client(Event_Client_Focus, focus_client, 0, 0); + if (old != NULL) + dispatch_client(Event_Client_Unfocus, old, 0, 0); }