X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=openbox%2Fevent.c;h=1430c3d23af36b73819ac2a169f2780d24db17b1;hb=b23c66afd15be9976a80f184df0d044919c56582;hp=f140bfcf17056c386fab33a08d6b7bb6144ef4f7;hpb=bf32b376b595eab16a300f63937cad1042361eec;p=chaz%2Fopenbox diff --git a/openbox/event.c b/openbox/event.c index f140bfcf..1430c3d2 100644 --- a/openbox/event.c +++ b/openbox/event.c @@ -226,7 +226,7 @@ void event_process(XEvent *e) if (e->xfocus.detail == NotifyInferior || e->xfocus.detail == NotifyAncestor || e->xfocus.detail > NotifyNonlinearVirtual) return; - g_message("FocusIn on %lx", window);*/ + g_message("FocusIn on %lx", window); break; case FocusOut: g_message("FocusOut on %lx mode %d detail %d", window, @@ -245,6 +245,10 @@ 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_set_client(NULL); } else focus_set_client(NULL); } @@ -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 */