diff options
Diffstat (limited to 'openbox/frame.c')
| -rw-r--r-- | openbox/frame.c | 28 |
1 files changed, 11 insertions, 17 deletions
diff --git a/openbox/frame.c b/openbox/frame.c index 5383f7a3..880ab1b5 100644 --- a/openbox/frame.c +++ b/openbox/frame.c @@ -234,32 +234,26 @@ static void frame_free(ObFrame *self) void frame_show(ObFrame *self) { + ob_debug("frame_show for window 0x%x : %d\n", self->client->window, + self->visible); if (!self->visible) { self->visible = TRUE; XMapWindow(ob_display, self->client->window); XMapWindow(ob_display, self->window); - self->firstmap = TRUE; } } void frame_hide(ObFrame *self) { - if (self->visible || self->firstmap == FALSE) { - if (self->visible) { - self->visible = FALSE; - self->client->ignore_unmaps += 1; - /* 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); - } else { - /* the frame wasn't visible, but the frame is being hidden now. - so we don't need to unmap the frame, but we do need to unmap - the client. */ - self->client->ignore_unmaps += 1; - XUnmapWindow(ob_display, self->client->window); - } - self->firstmap = TRUE; + ob_debug("frame_hide for window 0x%x : %d\n", self->client->window, + self->visible); + if (self->visible) { + self->visible = FALSE; + self->client->ignore_unmaps += 1; + /* 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); } } |
