Enlightenment CVS committal

Author  : sebastid
Project : e17
Module  : apps/e

Dir     : e17/apps/e/src/bin


Modified Files:
        e_border.c e_border.h 


Log Message:
Correct fix for fullscreen border.
On fullscreen set window size to fullscreen and trigger border change. The
border change will remove the border on fullscreen and reset to the correct
border on unfullscreen, whilst keeping the correct border size and border
inset.

A similar change should also be done for maximized borders.

===================================================================
RCS file: /cvs/e/e17/apps/e/src/bin/e_border.c,v
retrieving revision 1.511
retrieving revision 1.512
diff -u -3 -r1.511 -r1.512
--- e_border.c  14 Jul 2006 20:01:48 -0000      1.511
+++ e_border.c  17 Jul 2006 18:46:05 -0000      1.512
@@ -1906,10 +1906,6 @@
        bd->saved.h = bd->h;
        e_hints_window_size_set(bd);
 
-       bd->client_inset.sl = bd->client_inset.l;
-       bd->client_inset.sr = bd->client_inset.r;
-       bd->client_inset.st = bd->client_inset.t;
-       bd->client_inset.sb = bd->client_inset.b;
        bd->client_inset.l = 0;
        bd->client_inset.r = 0;
        bd->client_inset.t = 0;
@@ -1918,17 +1914,6 @@
        /* e_zone_fullscreen_set(bd->zone, 1); */
 
        e_border_layer_set(bd, 200);
-#if 0
-       x = bd->zone->x;
-       y = bd->zone->y;
-       w = bd->zone->w;
-       h = bd->zone->h;
-       e_border_resize_limit(bd, &w, &h);
-       /* center */
-       x = x + (bd->zone->w - w) / 2;
-       y = y + (bd->zone->h - h) / 2;
-       e_border_move_resize(bd, x, y, w, h);
-#endif
        if ((evas_list_count(bd->zone->container->zones) > 1) || (policy == 
E_FULLSCREEN_RESIZE))
          {
             e_border_move_resize(bd, bd->zone->x, bd->zone->y, bd->zone->w, 
bd->zone->h);
@@ -1976,13 +1961,14 @@
             else
               e_border_move_resize(bd, bd->zone->x, bd->zone->y, bd->zone->w, 
bd->zone->h);
          }
-       ecore_evas_hide(bd->bg_ecore_evas);
-
        bd->fullscreen = 1;
 
        e_hints_window_fullscreen_set(bd, 1);
        e_hints_window_size_unset(bd);
-       edje_object_signal_emit(bd->bg_object, "fullscreen", "");
+       if (bd->client.border.name)
+         evas_stringshare_del(bd->client.border.name);
+       bd->client.border.name = NULL;
+       bd->client.border.changed = 1;
      }
 }
 
@@ -1998,10 +1984,6 @@
 //     printf("UNFULLSCREEEN!\n");
        bd->fullscreen = 0;
        bd->need_fullscreen = 0;
-       bd->client_inset.l = bd->client_inset.sl;
-       bd->client_inset.r = bd->client_inset.sr;
-       bd->client_inset.t = bd->client_inset.st;
-       bd->client_inset.b = bd->client_inset.sb;
 
        /* e_zone_fullscreen_set(bd->zone, 0); */
 
@@ -2012,13 +1994,15 @@
             screen_size.height = -1;
          }
        e_border_move_resize(bd, bd->saved.x, bd->saved.y, bd->saved.w, 
bd->saved.h);
-       ecore_evas_show(bd->bg_ecore_evas);
 
        /* FIXME: Find right layer */
        e_border_layer_set(bd, 100);
 
        e_hints_window_fullscreen_set(bd, 0);
-       edje_object_signal_emit(bd->bg_object, "unfullscreen", "");
+       if (bd->client.border.name)
+         evas_stringshare_del(bd->client.border.name);
+       bd->client.border.name = NULL;
+       bd->client.border.changed = 1;
      }
 }
 
@@ -5094,7 +5078,6 @@
        e_hints_window_state_set(bd);
        /* Some stats might change the border, like modal */
        if (((!bd->lock_border) || (!bd->client.border.name)) &&
-           (!bd->fullscreen) &&
            (!(((bd->maximized & E_MAXIMIZE_TYPE) == E_MAXIMIZE_FULLSCREEN))))
          {
             if (bd->client.border.name)
@@ -5269,7 +5252,7 @@
          }
      }
    
-   if ((bd->client.border.changed) && (!bd->shaded) && (!bd->fullscreen) &&
+   if ((bd->client.border.changed) && (!bd->shaded) &&
        (!(((bd->maximized & E_MAXIMIZE_TYPE) == E_MAXIMIZE_FULLSCREEN))))
      {
        Evas_Object *o;
@@ -5280,7 +5263,9 @@
        
        if (!bd->client.border.name)
          {
-            if ((bd->client.mwm.borderless) || (bd->borderless))
+            if (bd->fullscreen)
+              bd->client.border.name = evas_stringshare_add("borderless");
+            else if ((bd->client.mwm.borderless) || (bd->borderless))
               bd->client.border.name = evas_stringshare_add("borderless");
             else if (((bd->client.icccm.transient_for != 0) ||
                       (bd->client.netwm.type == ECORE_X_WINDOW_TYPE_DIALOG)) &&
@@ -5409,8 +5394,6 @@
               edje_object_signal_emit(bd->bg_object, "maximize,fullscreen", 
"");
             else if ((bd->maximized & E_MAXIMIZE_TYPE) != E_MAXIMIZE_NONE)
               edje_object_signal_emit(bd->bg_object, "maximize", "");
-            if (bd->fullscreen)
-              edje_object_signal_emit(bd->bg_object, "fullscreen", "");
             if (bd->hung)
               edje_object_signal_emit(bd->bg_object, "hung", "");
             if (bd->client.icccm.urgent)
===================================================================
RCS file: /cvs/e/e17/apps/e/src/bin/e_border.h,v
retrieving revision 1.144
retrieving revision 1.145
diff -u -3 -r1.144 -r1.145
--- e_border.h  3 Jul 2006 07:35:44 -0000       1.144
+++ e_border.h  17 Jul 2006 18:46:05 -0000      1.145
@@ -124,7 +124,6 @@
 
    struct {
       int          l, r, t, b;
-      int          sl, sr, st, sb;
    } client_inset;
 
    Ecore_Evas     *bg_ecore_evas;




-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to