update engine last for focus events
Dana Jansens danakj@orodu.net
1 files changed,
7 insertions(+),
8 deletions(-)
jump to
M
openbox/event.c
→
openbox/event.c
@@ -241,6 +241,7 @@ /* 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; + g_print("%s\n", e->type == EnterNotify ? "EnterNotify":"LeaveNotify"); break; }@@ -319,24 +320,22 @@ Atom msgtype;
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);