From 07a52aeaff0d8f429d9a740f49a85f22d51cf597 Mon Sep 17 00:00:00 2001 From: Dana Jansens Date: Fri, 28 Mar 2003 00:27:35 +0000 Subject: [PATCH] mor fabulous focus fixings. RevertToNone so that when the fallback stuff goes the window wont already have focus cuz it has the pointer in to --- openbox/client.c | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/openbox/client.c b/openbox/client.c index 5d897f1c..783678b8 100644 --- a/openbox/client.c +++ b/openbox/client.c @@ -132,7 +132,7 @@ void client_manage_all() w = client_startup_stack_order[i-1]; c = g_hash_table_lookup(client_map, &w); - g_message("0x%lx %d", c->window, c->iconic); + g_message("0x%lx %d %d", c->window, c->iconic, c->shaded); if (c) stacking_lower(c); } g_free(client_startup_stack_order); @@ -308,11 +308,6 @@ void client_unmanage(Client *client) dispatch_client(Event_Client_Unmapped, client, 0, 0); g_assert(client != NULL); - /* unfocus the client (dispatchs the focus event) (we're out of the - transient lists already, so being modal doesn't matter) */ - if (client_focused(client)) - client_unfocus(client); - /* give the client its border back */ client_toggle_border(client, TRUE); @@ -1947,7 +1942,9 @@ gboolean client_focus(Client *self) } if (self->can_focus) - XSetInputFocus(ob_display, self->window, RevertToPointerRoot, + /* RevertToNone is used so that windows dont get focused inadvertantly + by having the pointer in them, and then FocusIn events go missing */ + XSetInputFocus(ob_display, self->window, RevertToNone, event_lasttime); if (self->focus_notify) { -- 2.45.2