[Xfce4-commits] r26274 - xfwm4/trunk/src

Olivier Fourdan olivier at xfce.org
Wed Nov 7 23:26:34 CET 2007


Author: olivier
Date: 2007-11-07 22:26:34 +0000 (Wed, 07 Nov 2007)
New Revision: 26274

Modified:
   xfwm4/trunk/src/client.c
   xfwm4/trunk/src/focus.c
Log:
Keep transients and parent together

Modified: xfwm4/trunk/src/client.c
===================================================================
--- xfwm4/trunk/src/client.c	2007-11-07 22:01:28 UTC (rev 26273)
+++ xfwm4/trunk/src/client.c	2007-11-07 22:26:34 UTC (rev 26274)
@@ -4990,8 +4990,6 @@
     if (passdata->c == NULL)
     {
         return EVENT_FILTER_CONTINUE;
-        /*  will never be executed */
-        /* gtk_main_quit (); */
     }
 
     c = passdata->c;
@@ -5178,6 +5176,7 @@
     if (passdata.c)
     {
         Client *focused;
+        Client *sibling;
         int workspace;
 
         c = passdata.c;
@@ -5195,9 +5194,10 @@
             clientAdjustFullscreenLayer (focused, FALSE);
         }
 
-        clientShow (c, TRUE);
+        sibling = clientGetTransientFor(c);
+        clientRaise (sibling, None);
+        clientShow (sibling, TRUE);
         clientSetFocus (screen_info, c, myDisplayGetCurrentTime (display_info), NO_FOCUS_FLAG);
-        clientRaise (c, None);
     }
 
     myScreenUngrabKeyboard (screen_info);

Modified: xfwm4/trunk/src/focus.c
===================================================================
--- xfwm4/trunk/src/focus.c	2007-11-07 22:01:28 UTC (rev 26273)
+++ xfwm4/trunk/src/focus.c	2007-11-07 22:26:34 UTC (rev 26274)
@@ -327,12 +327,13 @@
     {
         if (c)
         {
-            if (clientIsModal (c))
+            if (clientIsTransientOrModal (c))
             {
-                /* If the window is a modal, send focus back to its parent window.
-                   Modals are transients, and we aren't interested in modal
-                   for group, so it safe to use clientGetTransient because
-                   it's really what we want...
+                /* If the window is a transient or modal, send focus back to
+                 * its parent window.
+                 * Modals are transients, and we aren't interested in modal
+                 * for group, so it safe to use clientGetTransient because
+                 * it's really what we want...
                  */
                 c2 = clientGetTransient (c);
                 if (c2 && FLAG_TEST(c2->xfwm_flags, XFWM_FLAG_VISIBLE))



More information about the Xfce4-commits mailing list