Small patch to change the logic if a configure_request is called by a
maximized window. We don't save the value anymore as its better to just
ignore them from a UI point of view.

Additionally, don't resize below minimum size on unmaximise (can happen
if min size changes whilst max'ed).

metrics
Index: TODO
===================================================================
RCS file: /var/cvs/e/e17/apps/e/TODO,v
retrieving revision 1.481
diff -u -r1.481 TODO
--- TODO        18 Oct 2006 15:05:26 -0000      1.481
+++ TODO        19 Oct 2006 03:15:56 -0000
@@ -8,10 +8,6 @@
   BUGS / FIXES
 -------------------------------------------------------------------------------
 
-* BUG: if maximize policy == fullscreen then weird things happen on
-  maximize and unmaximize with gvim (probably gvim tries to resize itself
-  on maximize and it screws e's account keeping) but on unmax it ends up
-  just moving a bit, not going down in size.
 * BUG: smart placement seems to screw up if a shelf is at the top of the screen
 * BUG: e17 screen res diaolg doesnt work under xephyr - why?
 * BUG: "match this window only" doesnt fall back to other unused remembers
Index: src/bin/e_border.c
===================================================================
RCS file: /var/cvs/e/e17/apps/e/src/bin/e_border.c,v
retrieving revision 1.555
diff -u -r1.555 e_border.c
--- src/bin/e_border.c  17 Oct 2006 13:49:47 -0000      1.555
+++ src/bin/e_border.c  19 Oct 2006 03:15:57 -0000
@@ -1684,7 +1684,7 @@
    if ((bd->shaded) || (bd->shading)) return;
    if (bd->fullscreen)
      e_border_unfullscreen(bd);
-   /* Only allow changes in vertical/ horisontal maximization */
+   /* Only allow changes in vertical/ horizontal maximization */
    if (((bd->maximized & E_MAXIMIZE_DIRECTION) == (max & 
E_MAXIMIZE_DIRECTION)) || 
        ((bd->maximized & E_MAXIMIZE_DIRECTION) == E_MAXIMIZE_BOTH)) return;
    if (bd->new_client)
@@ -1899,18 +1899,29 @@
        if (dir & E_MAXIMIZE_HORIZONTAL)
          {
             /* Remove vertical */
+            int w,h;
+
             signal = 0;
             bd->maximized &= ~E_MAXIMIZE_VERTICAL;
-            e_border_move_resize(bd, bd->x, bd->saved.y, bd->w, bd->saved.h);
+            w = bd->w;
+            h = bd->saved.h;
+            e_border_resize_limit(bd, &w, &h);
+            e_border_resize_limit(bd, &w, &h);
+            e_border_move_resize(bd, bd->x, bd->saved.y, w, h);
             bd->saved.y = bd->saved.h = 0;
             e_hints_window_size_set(bd);
          }
        else if (dir & E_MAXIMIZE_VERTICAL)
          {
-            /* Remove horisontal */
+            /* Remove horizontal */
+            int w,h;
+
             signal = 0;
             bd->maximized &= ~E_MAXIMIZE_HORIZONTAL;
-            e_border_move_resize(bd, bd->saved.x, bd->y, bd->saved.w, bd->h);
+            w = bd->saved.w;
+            h = bd->h;
+            e_border_resize_limit(bd, &w, &h);
+            e_border_move_resize(bd, bd->saved.x, bd->y, w, h);
             bd->saved.x = bd->saved.w = 0;
             e_hints_window_size_set(bd);
          }
@@ -1928,6 +1939,7 @@
             else h = bd->h;
             
             bd->maximized = E_MAXIMIZE_NONE;
+            e_border_resize_limit(bd, &w, &h);
             e_border_move_resize(bd, x, y, w, h);
             bd->saved.x = bd->saved.y = bd->saved.w = bd->saved.h = 0;
             e_hints_window_size_unset(bd);
@@ -3544,12 +3556,7 @@
               }
             else
               {
-                 if ((bd->maximized & E_MAXIMIZE_TYPE) != E_MAXIMIZE_NONE)
-                   {
-                      bd->saved.w = w;
-                      bd->saved.h = h;
-                   }
-                 else
+                 if ((bd->maximized & E_MAXIMIZE_TYPE) == E_MAXIMIZE_NONE)
                    e_border_resize(bd, w, h);
               }
          }
-------------------------------------------------------------------------
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-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to