]> Dogcows Code - chaz/openbox/commitdiff
stop shownig the desktop when a new window maps
authorDana Jansens <danakj@orodu.net>
Tue, 22 Jul 2003 16:50:23 +0000 (16:50 +0000)
committerDana Jansens <danakj@orodu.net>
Tue, 22 Jul 2003 16:50:23 +0000 (16:50 +0000)
openbox/client.c

index 2361f9379de603599af50924ea5d1859e7058818..7b1b9955a9b47ac67a947e3ac7d646c9d70e5e01 100644 (file)
@@ -255,6 +255,8 @@ void client_manage(Window window)
     /* update the focus lists */
     focus_order_add_new(self);
 
+    stacking_add(CLIENT_AS_WINDOW(self));
+
     /* focus the new window? */
     if (ob_state() != OB_STATE_STARTING && config_focus_new &&
         /* note the check against Type_Normal/Dialog, not client_normal(self),
@@ -263,14 +265,10 @@ void client_manage(Window window)
         (self->type == OB_CLIENT_TYPE_NORMAL ||
          self->type == OB_CLIENT_TYPE_DIALOG))
     {        
-        if (self->desktop != screen_desktop)
-        {
+        if (self->desktop != screen_desktop) {
             /* activate the window */
-            stacking_add(CLIENT_AS_WINDOW(self));
             activate = TRUE;
-        }
-        else
-        {
+        } else {
             gboolean group_foc = FALSE;
 
             if (self->group) {
@@ -293,20 +291,10 @@ void client_manage(Window window)
                 !client_normal(focus_client))
             {
                 /* activate the window */
-                stacking_add(CLIENT_AS_WINDOW(self));
                 activate = TRUE;
             }
-            else
-            {
-                /* try to not get in the way */
-                stacking_add_nonintrusive(CLIENT_AS_WINDOW(self));
-            }
         }
     }
-    else
-    {
-        stacking_add(CLIENT_AS_WINDOW(self));
-    }
 
     dispatch_client(Event_Client_New, self, 0, 0);
 
@@ -324,6 +312,11 @@ void client_manage(Window window)
        but do focus it. */
     if (activate) client_focus(self);
 
+    /* client_activate does this but we aret using it so we have to do it
+       here as well */
+    if (screen_showing_desktop)
+        screen_show_desktop(FALSE);
+
     /* update the list hints */
     client_set_list();
 
This page took 0.026875 seconds and 4 git commands to generate.