]> Dogcows Code - chaz/openbox/blobdiff - openbox/frame.c
watch for reverttoparent reverting to the root window, which will create a DetailInfe...
[chaz/openbox] / openbox / frame.c
index 5383f7a379f5a7458de03628df8ae0023e311ce2..880ab1b552cc20952166a685ef491871b73e8825 100644 (file)
@@ -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);
     }
 }
 
This page took 0.022921 seconds and 4 git commands to generate.