Enlightenment CVS committal

Author  : raster
Project : e17
Module  : apps/e

Dir     : e17/apps/e/src/bin


Modified Files:
        e_border.c 


Log Message:


fix border bugs on fullscreen and maximize fullscreen actions

===================================================================
RCS file: /cvs/e/e17/apps/e/src/bin/e_border.c,v
retrieving revision 1.504
retrieving revision 1.505
diff -u -3 -r1.504 -r1.505
--- e_border.c  16 Jun 2006 08:50:42 -0000      1.504
+++ e_border.c  19 Jun 2006 15:16:37 -0000      1.505
@@ -757,7 +757,7 @@
 
    if ((bd->fullscreen) || 
        (((bd->maximized & E_MAXIMIZE_TYPE) == E_MAXIMIZE_FULLSCREEN) && 
(!e_config->allow_manip))) 
-          return;
+     return;
    if (bd->new_client)
      {
        E_Border_Pending_Move_Resize  *pnd;
@@ -1680,6 +1680,11 @@
                  bd->client_inset.r = 1000 - (cx + cw);
                  bd->client_inset.t = cy;
                  bd->client_inset.b = 1000 - (cy + ch);
+                 printf("SET inset %i %i %i %i\n",
+                        bd->client_inset.l,
+                        bd->client_inset.r,
+                        bd->client_inset.t,
+                        bd->client_inset.b);
                  ecore_x_netwm_frame_size_set(bd->client.win,
                                               bd->client_inset.l, 
bd->client_inset.r,
                                               bd->client_inset.t, 
bd->client_inset.b);
@@ -1690,7 +1695,7 @@
             w = bd->zone->w;
             h = bd->zone->h;
             /* center x-direction */
-            e_border_resize_limit(bd, &w, &h);
+//          e_border_resize_limit(bd, &w, &h);
             x1 = bd->zone->x + (bd->zone->w - w) / 2;
             /* center y-direction */
             y1 = bd->zone->y + (bd->zone->h - h) / 2;
@@ -1803,6 +1808,7 @@
                  evas_object_resize(bd->bg_object, 1000, 1000);
                  edje_object_calc_force(bd->bg_object);
                  edje_object_part_geometry_get(bd->bg_object, "client", &cx, 
&cy, &cw, &ch);
+                 printf("SET inset 2\n");
                  bd->client_inset.l = cx;
                  bd->client_inset.r = 1000 - (cx + cw);
                  bd->client_inset.t = cy;
@@ -1907,6 +1913,7 @@
        bd->client_inset.sr = bd->client_inset.r;
        bd->client_inset.st = bd->client_inset.t;
        bd->client_inset.sb = bd->client_inset.b;
+       printf("SET inset 3 (going fullscreen)\n");
        bd->client_inset.l = 0;
        bd->client_inset.r = 0;
        bd->client_inset.t = 0;
@@ -1995,6 +2002,7 @@
 //     printf("UNFULLSCREEEN!\n");
        bd->fullscreen = 0;
        bd->need_fullscreen = 0;
+       printf("SET inset 4 (unfullscreen)\n");
        bd->client_inset.l = bd->client_inset.sl;
        bd->client_inset.r = bd->client_inset.sr;
        bd->client_inset.t = bd->client_inset.st;
@@ -2655,6 +2663,7 @@
    evas_object_resize(bd->bg_object, 1000, 1000);
    edje_object_calc_force(bd->bg_object);
    edje_object_part_geometry_get(bd->bg_object, "client", &cx, &cy, &cw, &ch);
+   printf("SET inset 5\n");
    bd->client_inset.l = cx;
    bd->client_inset.r = 1000 - (cx + cw);
    bd->client_inset.t = cy;
@@ -4729,6 +4738,7 @@
          {
             if (bd->client.border.name) 
evas_stringshare_del(bd->client.border.name);
             bd->client.border.name = NULL;
+            printf("bd change 1\n");
             bd->client.border.changed = 1;
          }
        if (bd->client.netwm.type == ECORE_X_WINDOW_TYPE_DOCK)
@@ -5066,6 +5076,7 @@
                  if (bd->client.border.name)
                    evas_stringshare_del(bd->client.border.name);
                  bd->client.border.name = NULL;
+                 printf("bd change 2\n");
                  bd->client.border.changed = 1;
               }
          }
@@ -5075,11 +5086,14 @@
      {
        e_hints_window_state_set(bd);
        /* Some stats might change the border, like modal */
-       if ((!bd->lock_border) || (!bd->client.border.name))
+       if (((!bd->lock_border) || (!bd->client.border.name)) &&
+           (!bd->fullscreen) &&
+           (!(((bd->maximized & E_MAXIMIZE_TYPE) == E_MAXIMIZE_FULLSCREEN))))
          {
             if (bd->client.border.name)
               evas_stringshare_del(bd->client.border.name);
             bd->client.border.name = NULL;
+            printf("bd change 3\n");
             bd->client.border.changed = 1;
          }
        if (bd->parent)
@@ -5131,6 +5145,7 @@
             if (bd->client.border.name)
               evas_stringshare_del(bd->client.border.name);
             bd->client.border.name = NULL;
+            printf("bd change 4\n");
             bd->client.border.changed = 1;
          }
        if (!bd->remember)
@@ -5203,6 +5218,7 @@
                  bd->client.border.name = NULL;
                  if (rem->prop.border)
                    bd->client.border.name = 
evas_stringshare_add(rem->prop.border);
+                 printf("bd change 5\n");
                  bd->client.border.changed = 1;
               }
             if (rem->apply & E_REMEMBER_APPLY_STICKY)
@@ -5249,7 +5265,8 @@
          }
      }
    
-   if ((bd->client.border.changed) && (!bd->shaded))
+   if ((bd->client.border.changed) && (!bd->shaded) && (!bd->fullscreen) &&
+       (!(((bd->maximized & E_MAXIMIZE_TYPE) == E_MAXIMIZE_FULLSCREEN))))
      {
        Evas_Object *o;
        char buf[4096];
@@ -5257,6 +5274,7 @@
        int l, r, t, b;
        int ok;
        
+       printf("bd changed!\n");
        if (!bd->client.border.name)
          {
             if ((bd->client.mwm.borderless) || (bd->borderless))
@@ -5291,6 +5309,7 @@
          {
             bd->w -= (bd->client_inset.l + bd->client_inset.r);
             bd->h -= (bd->client_inset.t + bd->client_inset.b);
+            printf("SET inset 6\n");
             bd->client_inset.l = 0;
             bd->client_inset.r = 0;
             bd->client_inset.t = 0;
@@ -5362,6 +5381,7 @@
             t = 0;
             b = 0;
          }
+       printf("SET inset 7\n");
        bd->client_inset.l = l;
        bd->client_inset.r = r;
        bd->client_inset.t = t;




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

Reply via email to