summaryrefslogtreecommitdiff
path: root/openbox
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2003-03-28 00:27:35 +0000
committerDana Jansens <danakj@orodu.net>2003-03-28 00:27:35 +0000
commit07a52aeaff0d8f429d9a740f49a85f22d51cf597 (patch)
tree4bf4be5eb6e02ebad80667889f7d427f08959c3b /openbox
parent52d4433a00751ad2184e58af7fbc31b206c13f59 (diff)
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
Diffstat (limited to 'openbox')
-rw-r--r--openbox/client.c11
1 files 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) {