summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2007-03-13 04:15:25 +0000
committerDana Jansens <danakj@orodu.net>2007-03-13 04:15:25 +0000
commita9910e520b1e5a7020ca8df0f2a7d0d0d48e2857 (patch)
tree1a33e48c6245bc1b6bb28c9619522b11fe31e0ab
parent270a5b25df8db500f94a7c29430ebc224ddf18b2 (diff)
always unfocus the window when it disappears, no special cases.. (except unmanage)
-rw-r--r--openbox/client.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/openbox/client.c b/openbox/client.c
index 569718c3..dc61deba 100644
--- a/openbox/client.c
+++ b/openbox/client.c
@@ -2121,9 +2121,14 @@ void client_showhide(ObClient *self)
if (!self->frame->visible)
frame_show(self->frame);
}
- else if (self->frame->visible)
+ else if (self->frame->visible) {
frame_hide(self->frame);
+ /* Fall back focus since we're disappearing */
+ if (focus_client == self)
+ client_unfocus(self);
+ }
+
/* According to the ICCCM (sec 4.1.3.1) when a window is not visible, it
needs to be in IconicState. This includes when it is on another
desktop!
@@ -2505,10 +2510,6 @@ static void client_iconify_recursive(ObClient *self,
bottom'. */
focus_order_to_top(self);
- /* Fall back focus since we're disappearing */
- if (focus_client == self)
- client_unfocus(self);
-
changed = TRUE;
}
} else {