[Xfce4-commits] r25409 - xfwm4/branches/xfce_4_4/src

Olivier Fourdan olivier at xfce.org
Fri Apr 6 21:34:10 CEST 2007


Author: olivier
Date: 2007-04-06 19:34:10 +0000 (Fri, 06 Apr 2007)
New Revision: 25409

Modified:
   xfwm4/branches/xfce_4_4/src/netwm.c
   xfwm4/branches/xfce_4_4/src/transients.c
Log:
Treat dialogs and utility windows as transient for group

Modified: xfwm4/branches/xfce_4_4/src/netwm.c
===================================================================
--- xfwm4/branches/xfce_4_4/src/netwm.c	2007-04-06 19:32:27 UTC (rev 25408)
+++ xfwm4/branches/xfce_4_4/src/netwm.c	2007-04-06 19:34:10 UTC (rev 25409)
@@ -1202,6 +1202,11 @@
             TRACE ("atom net_wm_window_type_dialog detected");
             c->type = WINDOW_DIALOG;
             c->initial_layer = WIN_LAYER_NORMAL;
+            /* Treat DIALOG without transient_for set as transient for group */
+            if (c->transient_for == None)
+            {
+                c->transient_for = c->screen_info->xroot;
+            }
         }
         else if (c->type_atom == display_info->atoms[NET_WM_WINDOW_TYPE_NORMAL])
         {
@@ -1216,6 +1221,11 @@
                 CLIENT_FLAG_SKIP_PAGER | CLIENT_FLAG_SKIP_TASKBAR);
             c->type = WINDOW_UTILITY;
             c->initial_layer = WIN_LAYER_NORMAL;
+            /* Treat UTILITY without transient_for set as transient for group */
+            if (c->transient_for == None)
+            {
+                c->transient_for = c->screen_info->xroot;
+            }
         }
         else if (c->type_atom == display_info->atoms[NET_WM_WINDOW_TYPE_SPLASH])
         {

Modified: xfwm4/branches/xfce_4_4/src/transients.c
===================================================================
--- xfwm4/branches/xfce_4_4/src/transients.c	2007-04-06 19:32:27 UTC (rev 25408)
+++ xfwm4/branches/xfce_4_4/src/transients.c	2007-04-06 19:34:10 UTC (rev 25409)
@@ -107,10 +107,9 @@
     {
         if (c1->transient_for != c1->screen_info->xroot)
         {
-            if (c1->transient_for == c2->window)
             return (c1->transient_for == c2->window);
         }
-        else if (c1->serial >= c2->serial)
+        else if (c2->transient_for != c2->screen_info->xroot)
         {
             return (clientSameGroup (c1, c2));
         }



More information about the Xfce4-commits mailing list