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