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 {