X-Git-Url: https://git.brokenzipper.com/gitweb?a=blobdiff_plain;f=openbox%2Fevent.c;h=432f39c5829b2bf838cdb115cb7f64ada9a681b9;hb=07a52aeaff0d8f429d9a740f49a85f22d51cf597;hp=d1611f9e351bccd0fafc74a2a2d4e2f6a1856022;hpb=3139c3c7132e326e82183feb6fcea8dd38e6b41e;p=chaz%2Fopenbox diff --git a/openbox/event.c b/openbox/event.c index d1611f9e..432f39c5 100644 --- a/openbox/event.c +++ b/openbox/event.c @@ -245,8 +245,12 @@ void event_process(XEvent *e) if (fi.xfocus.window == e->xfocus.window) return; + /* secret magic way of event_process telling us that no client + was found for the FocusIn event */ + if (fi.xfocus.window == None) + focus_fallback(FALSE); } else - focus_set_client(NULL); + focus_fallback(FALSE); } break; case EnterNotify: @@ -270,6 +274,8 @@ void event_process(XEvent *e) event_handle_root(e); else if (e->type == MapRequest) client_manage(window); + else if (e->type == FocusIn) + e->xfocus.window = None; /* says no client was found for the event */ else if (e->type == ConfigureRequest) { /* unhandled configure requests must be used to configure the window directly */