Enlightenment CVS committal

Author  : kwo
Project : e16
Module  : e

Dir     : e16/e/src


Modified Files:
        E.h borders.c conf.h config.c settings.c 


Log Message:
Added option to raise fullscreen windows.
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/E.h,v
retrieving revision 1.328
retrieving revision 1.329
diff -u -3 -r1.328 -r1.329
--- E.h 19 Sep 2004 09:27:38 -0000      1.328
+++ E.h 30 Sep 2004 22:42:40 -0000      1.329
@@ -1119,6 +1119,7 @@
       char                manual;
       char                manual_mouse_pointer;
       char                ignore_struts;
+      char                raise_fullscreen;
    } place;
    struct
    {
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/borders.c,v
retrieving revision 1.230
retrieving revision 1.231
diff -u -3 -r1.230 -r1.231
--- borders.c   28 Sep 2004 19:38:22 -0000      1.230
+++ borders.c   30 Sep 2004 22:42:43 -0000      1.231
@@ -3149,6 +3149,8 @@
 {
    int                 x, y, w, h;
    Border             *b;
+   EWin              **lst;
+   int                 i, num;
 
    if (ewin->st.fullscreen == on)
       return;
@@ -3161,9 +3163,20 @@
        ewin->lh = ewin->client.h;
        ewin->ll = ewin->layer;
        ScreenGetAvailableArea(ewin->x, ewin->y, &x, &y, &w, &h);
-#if 0
-       ewin->layer = 10;
-#endif
+
+       if (Conf.place.raise_fullscreen)
+         {
+            ewin->layer = 8;
+            lst = EwinListTransients(ewin, &num, 0);
+            for (i = 0; i < num; i++)
+              {
+                 lst[i]->ll = lst[i]->layer;
+                 lst[i]->layer += ewin->layer - ewin->ll;
+              }
+            if (lst)
+               Efree(lst);
+         }
+
        ewin->fixedpos = 1;
        b = (Border *) FindItem("BORDERLESS", 0, LIST_FINDBY_NAME,
                                LIST_TYPE_BORDER);
@@ -3174,9 +3187,18 @@
        y = ewin->ly;
        w = ewin->lw;
        h = ewin->lh;
-       ewin->layer = ewin->ll;
        ewin->fixedpos = 0;     /* Yeah - well */
        b = ewin->normal_border;
+
+       if (Conf.place.raise_fullscreen)
+         {
+            lst = EwinListTransients(ewin, &num, 0);
+            for (i = 0; i < num; i++)
+               lst[i]->layer = lst[i]->ll;
+            if (lst)
+               Efree(lst);
+         }
+       ewin->layer = ewin->ll;
      }
    ewin->st.fullscreen = on;
    RaiseEwin(ewin);
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/conf.h,v
retrieving revision 1.35
retrieving revision 1.36
diff -u -3 -r1.35 -r1.36
--- conf.h      25 Aug 2004 16:03:13 -0000      1.35
+++ conf.h      30 Sep 2004 22:42:46 -0000      1.36
@@ -103,6 +103,7 @@
 #define CONTROL_MANUAL_PLACEMENT 343
 #define CONTROL_MANUAL_PLACEMENT_MOUSE_POINTER 3360
 #define CONTROL_PLACE_IGNORE_STRUTS 3361
+#define CONTROL_RAISE_FULLSCREEN 3362
 #define CONTROL_RAISE_ON_NEXT_FOCUS 344
 #define CONTROL_WARP_ON_NEXT_FOCUS 345
 #define CONTROL_EDGE_FLIP_RESISTANCE 346
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/config.c,v
retrieving revision 1.114
retrieving revision 1.115
diff -u -3 -r1.114 -r1.115
--- config.c    25 Aug 2004 16:03:13 -0000      1.114
+++ config.c    30 Sep 2004 22:42:46 -0000      1.115
@@ -759,6 +759,9 @@
          case CONTROL_PLACE_IGNORE_STRUTS:
             Conf.place.ignore_struts = i2;
             break;
+         case CONTROL_RAISE_FULLSCREEN:
+            Conf.place.raise_fullscreen = i2;
+            break;
          case CONTROL_RAISE_ON_NEXT_FOCUS:
             Conf.focus.raise_on_next = i2;
             break;
@@ -3894,6 +3897,7 @@
        fprintf(autosavefile, "3360 %i\n",
                (int)Conf.place.manual_mouse_pointer);
        fprintf(autosavefile, "3361 %i\n", (int)Conf.place.ignore_struts);
+       fprintf(autosavefile, "3362 %i\n", (int)Conf.place.raise_fullscreen);
        fprintf(autosavefile, "344 %i\n", (int)Conf.focus.raise_on_next);
        fprintf(autosavefile, "345 %i\n", (int)Conf.focus.warp_on_next);
        fprintf(autosavefile, "346 %i\n", (int)Conf.edge_flip_resistance);
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/settings.c,v
retrieving revision 1.124
retrieving revision 1.125
diff -u -3 -r1.124 -r1.125
--- settings.c  16 Sep 2004 21:15:01 -0000      1.124
+++ settings.c  30 Sep 2004 22:42:54 -0000      1.125
@@ -1451,6 +1451,7 @@
 static char         tmp_manual_placement;
 static char         tmp_manual_placement_mouse_pointer;
 static char         tmp_place_ignore_struts;
+static char         tmp_raise_fullscreen;
 
 #ifdef HAS_XINERAMA
 static char         tmp_extra_head;
@@ -1466,6 +1467,7 @@
        Conf.place.manual = tmp_manual_placement;
        Conf.place.manual_mouse_pointer = tmp_manual_placement_mouse_pointer;
        Conf.place.ignore_struts = tmp_place_ignore_struts;
+       Conf.place.raise_fullscreen = tmp_raise_fullscreen;
 #ifdef HAS_XINERAMA
        if (xinerama_active)
           Conf.extra_head = tmp_extra_head;
@@ -1495,6 +1497,7 @@
    tmp_manual_placement = Conf.place.manual;
    tmp_manual_placement_mouse_pointer = Conf.place.manual_mouse_pointer;
    tmp_place_ignore_struts = Conf.place.ignore_struts;
+   tmp_raise_fullscreen = Conf.place.raise_fullscreen;
 #ifdef HAS_XINERAMA
    tmp_extra_head = Conf.extra_head;
 #endif
@@ -1568,6 +1571,14 @@
    DialogItemCheckButtonSetState(di, tmp_place_ignore_struts);
    DialogItemCheckButtonSetPtr(di, &tmp_place_ignore_struts);
 
+   di = DialogAddItem(table, DITEM_CHECKBUTTON);
+   DialogItemSetPadding(di, 2, 2, 2, 2);
+   DialogItemSetFill(di, 1, 0);
+   DialogItemSetColSpan(di, 2);
+   DialogItemCheckButtonSetText(di, _("Raise fullscreen windows"));
+   DialogItemCheckButtonSetState(di, tmp_raise_fullscreen);
+   DialogItemCheckButtonSetPtr(di, &tmp_raise_fullscreen);
+
 #ifdef HAS_XINERAMA
    if (xinerama_active)
      {




-------------------------------------------------------
This SF.net email is sponsored by: IT Product Guide on ITManagersJournal
Use IT products in your business? Tell us what you think of them. Give us
Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out more
http://productguide.itmanagersjournal.com/guidepromo.tmpl
_______________________________________________
enlightenment-cvs mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to