X-Git-Url: https://git.brokenzipper.com/gitweb?a=blobdiff_plain;f=openbox%2Fevent.c;h=b4bfd9baf73039b2f4e0bc0498d193acdd28d076;hb=152c638ef10ba2aa062f46ff8b05eb7cbaad66ea;hp=cb2ed093bce4f7584770d85ce06b9207647200b1;hpb=75b07a2bb3b98d581b39d3991cf1e9068452264a;p=chaz%2Fopenbox diff --git a/openbox/event.c b/openbox/event.c index cb2ed093..b4bfd9ba 100644 --- a/openbox/event.c +++ b/openbox/event.c @@ -248,6 +248,10 @@ void event_process(XEvent *e) case EnterNotify: case LeaveNotify: event_lasttime = e->xcrossing.time; + /* XXX this caused problems before... but i don't remember why. hah. + so back it is. if problems arise again, then try filtering on the + detail instead of the mode. */ + if (e->xcrossing.mode != NotifyNormal) return; break; } @@ -332,7 +336,8 @@ static void event_handle_client(Client *client, XEvent *e) /* focus state can affect the stacking layer */ client_calc_layer(client); - focus_set_client(client); + if (focus_client != client) + focus_set_client(client); break; case FocusOut: client->focused = FALSE;