]> Dogcows Code - chaz/openbox/blobdiff - openbox/frame.c
unmap and map the client window when the frame is hidden/shown
[chaz/openbox] / openbox / frame.c
index 93263e270089e4c8bbebdc40086959c4f9b41b17..40c15e00d1ef830e45aeba301c0aeccb9a62891f 100644 (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);
     }
 }
 
This page took 0.020655 seconds and 4 git commands to generate.