Enlightenment CVS committal

Author  : sebastid
Project : e17
Module  : apps/e

Dir     : e17/apps/e/src/bin


Modified Files:
        e_border.c 


Log Message:
Focus transient and modal windows if parent is focused.

===================================================================
RCS file: /cvs/e/e17/apps/e/src/bin/e_border.c,v
retrieving revision 1.498
retrieving revision 1.499
diff -u -3 -r1.498 -r1.499
--- e_border.c  10 Jun 2006 21:45:43 -0000      1.498
+++ e_border.c  10 Jun 2006 21:59:08 -0000      1.499
@@ -4547,7 +4547,11 @@
             /* Only set the window modal to the leader it there is no parent */
             if ((e_config->modal_windows) && (bd->client.netwm.state.modal) &&
                 ((!bd->parent) || (bd->parent->modal != bd)))
-              bd->leader->modal = bd;
+              {
+                 bd->leader->modal = bd;
+                 if (bd->leader->focused)
+                   e_border_focus_set(bd, 1, 1);
+              }
          }
        bd->client.icccm.fetch.client_leader = 0;
      }
@@ -4808,7 +4812,11 @@
             bd->parent = bd_parent;
             e_border_layer_set(bd, bd->parent->layer);
             if ((e_config->modal_windows) && (bd->client.netwm.state.modal))
-              bd->parent->modal = bd;
+              {
+                 bd->parent->modal = bd;
+              }
+            if (bd->parent->focused)
+              e_border_focus_set(bd, 1, 1);
          }
        bd->client.icccm.fetch.transient_for = 0;
      }
@@ -4977,12 +4985,20 @@
        if (bd->parent)
          {
             if ((e_config->modal_windows) && (bd->client.netwm.state.modal))
-              bd->parent->modal = bd;
+              {
+                 bd->parent->modal = bd;
+                 if (bd->parent->focused)
+                   e_border_focus_set(bd, 1, 1);
+              }
          }
        else if (bd->leader)
          {
             if ((e_config->modal_windows) && (bd->client.netwm.state.modal))
-              bd->leader->modal = bd;
+              {
+                 bd->leader->modal = bd;
+                 if (bd->leader->focused)
+                   e_border_focus_set(bd, 1, 1);
+              }
          }
        bd->client.netwm.update.state = 0;
      }




_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to