always unfocus the window when it disappears, no special cases.. (except unmanage)

This commit is contained in:
Dana Jansens 2007-03-13 04:15:25 +00:00
parent 270a5b25df
commit a9910e520b

View file

@ -2121,9 +2121,14 @@ void client_showhide(ObClient *self)
if (!self->frame->visible) if (!self->frame->visible)
frame_show(self->frame); frame_show(self->frame);
} }
else if (self->frame->visible) else if (self->frame->visible) {
frame_hide(self->frame); 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 /* 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 needs to be in IconicState. This includes when it is on another
desktop! desktop!
@ -2505,10 +2510,6 @@ static void client_iconify_recursive(ObClient *self,
bottom'. */ bottom'. */
focus_order_to_top(self); focus_order_to_top(self);
/* Fall back focus since we're disappearing */
if (focus_client == self)
client_unfocus(self);
changed = TRUE; changed = TRUE;
} }
} else { } else {