unmap and map the client window when the frame is hidden/shown

This commit is contained in:
Dana Jansens 2003-10-15 03:01:34 +00:00
parent 37c9f2d961
commit c9233ddb23
2 changed files with 8 additions and 12 deletions

View file

@ -493,9 +493,8 @@ void client_unmanage(ObClient *self)
PROP_ERASE(self->window, net_wm_state);
PROP_ERASE(self->window, wm_state);
} else {
/* if we're left in an iconic state, the client wont be mapped. this is
bad, since we will no longer be managing the window on restart */
if (self->iconic)
/* if we're left in an unmapped state, the client wont be mapped. this
is bad, since we will no longer be managing the window on restart */
XMapWindow(ob_display, self->window);
}
@ -2203,11 +2202,6 @@ static void client_iconify_recursive(ObClient *self,
PROP_MSG(self->window, kde_wm_change_state,
self->wmstate, 1, 0, 0);
self->ignore_unmaps++;
/* we unmap the client itself so that we can get MapRequest
events, and because the ICCCM tells us to! */
XUnmapWindow(ob_display, self->window);
/* update the focus lists.. iconic windows go to the bottom of
the list, put the new iconic window at the 'top of the
bottom'. */
@ -2227,8 +2221,6 @@ static void client_iconify_recursive(ObClient *self,
PROP_MSG(self->window, kde_wm_change_state,
self->wmstate, 1, 0, 0);
XMapWindow(ob_display, self->window);
/* this puts it after the current focused window */
focus_order_remove(self);
focus_order_add_new(self);

View file

@ -189,6 +189,7 @@ void frame_show(ObFrame *self)
{
if (!self->visible) {
self->visible = TRUE;
XMapWindow(ob_display, self->client->window);
XMapWindow(ob_display, self->window);
}
}
@ -197,8 +198,11 @@ void frame_hide(ObFrame *self)
{
if (self->visible) {
self->visible = FALSE;
self->client->ignore_unmaps++;
self->client->ignore_unmaps += 2;
/* we unmap the client itself so that we can get MapRequest
events, and because the ICCCM tells us to! */
XUnmapWindow(ob_display, self->window);
XUnmapWindow(ob_display, self->client->window);
}
}