X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=openbox%2Ffocus.c;h=cfc3485e25734121cec6e0fb919557165ca94c80;hb=a91a6f97daeb058f346246081e1c83a788787f9b;hp=db78183d8046b62d7b22eb43bc186255883e7e18;hpb=75b07a2bb3b98d581b39d3991cf1e9068452264a;p=chaz%2Fopenbox diff --git a/openbox/focus.c b/openbox/focus.c index db78183d..cfc3485e 100644 --- a/openbox/focus.c +++ b/openbox/focus.c @@ -32,10 +32,7 @@ void focus_startup() void focus_set_client(Client *client) { Window active; - - /* 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 - return if _focused_client == c */ + Client *old; /* uninstall the old colormap, and install the new one */ screen_install_colormap(focus_client, FALSE); @@ -47,9 +44,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); - + old = focus_client; focus_client = client; /* set the NET_ACTIVE_WINDOW hint */ @@ -57,5 +52,7 @@ void focus_set_client(Client *client) PROP_SET32(ob_root, net_active_window, window, active); if (focus_client != NULL) - dispatch_client(Event_Client_Focus, focus_client); + dispatch_client(Event_Client_Focus, focus_client, 0, 0); + if (old != NULL) + dispatch_client(Event_Client_Unfocus, old, 0, 0); }