]> Dogcows Code - chaz/openbox/commitdiff
unmap and map the client window when the frame is hidden/shown
authorDana Jansens <danakj@orodu.net>
Wed, 15 Oct 2003 03:01:34 +0000 (03:01 +0000)
committerDana Jansens <danakj@orodu.net>
Wed, 15 Oct 2003 03:01:34 +0000 (03:01 +0000)
openbox/client.c
openbox/frame.c

index 8734ce491596352bfc03b92e01c36454b348d762..78af988fcefb15ffc12d7d36f47cbc40f2b8c2e8 100644 (file)
@@ -493,10 +493,9 @@ 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)
-            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);
     }
 
 
@@ -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);
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.032145 seconds and 4 git commands to generate.