From ca45916f77822dcd48a4d4f459c719e5e000a4b7 Mon Sep 17 00:00:00 2001 From: Dana Jansens Date: Fri, 21 Mar 2003 08:17:43 +0000 Subject: [PATCH] update engine last for focus events --- openbox/event.c | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) 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); -- 2.45.2