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)
- XMapWindow(ob_display, self->window);
+ /* 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);
}
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'. */
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);
{
if (!self->visible) {
self->visible = TRUE;
+ XMapWindow(ob_display, self->client->window);
XMapWindow(ob_display, self->window);
}
}
{
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);
}
}