From: Dana Jansens Date: Fri, 21 Mar 2003 08:17:43 +0000 (+0000) Subject: update engine last for focus events X-Git-Url: https://git.dogcows.com/gitweb?a=commitdiff_plain;h=ca45916f77822dcd48a4d4f459c719e5e000a4b7;p=chaz%2Fopenbox update engine last for focus events --- diff --git a/openbox/event.c b/openbox/event.c index 51f93c3b..43a3b230 100644 --- a/openbox/event.c +++ b/openbox/event.c @@ -241,6 +241,7 @@ void event_process(XEvent *e) so back it is. if problems arise again, then try filtering on the detail instead of the mode. */ if (e->xcrossing.mode != NotifyNormal) return; + g_print("%s\n", e->type == EnterNotify ? "EnterNotify":"LeaveNotify"); break; } @@ -319,24 +320,22 @@ static void event_handle_client(Client *client, XEvent *e) switch (e->type) { case FocusIn: - client->focused = TRUE; - engine_frame_adjust_focus(client->frame); + if (focus_client != client) + focus_set_client(client); /* focus state can affect the stacking layer */ client_calc_layer(client); - if (focus_client != client) - focus_set_client(client); + engine_frame_adjust_focus(client->frame); break; case FocusOut: - client->focused = FALSE; - engine_frame_adjust_focus(client->frame); + if (focus_client == client) + focus_set_client(NULL); /* focus state can affect the stacking layer */ client_calc_layer(client); - if (focus_client == client) - focus_set_client(NULL); + engine_frame_adjust_focus(client->frame); break; case ConfigureRequest: g_message("ConfigureRequest for window %lx", client->window);