discomfitor pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=d6c037ff30e961a4adda76d4a2c093222c2820f0
commit d6c037ff30e961a4adda76d4a2c093222c2820f0 Author: Mike Blumenkrantz <[email protected]> Date: Fri Feb 21 16:40:09 2014 -0500 fix maximize size calculation on non-current desks with shelves --- src/bin/e_client.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/bin/e_client.c b/src/bin/e_client.c index 0848dde..ff07713 100644 --- a/src/bin/e_client.c +++ b/src/bin/e_client.c @@ -1450,7 +1450,19 @@ _e_client_maximize(E_Client *ec, E_Maximize max) case E_MAXIMIZE_SMART: case E_MAXIMIZE_EXPAND: - e_zone_useful_geometry_get(ec->zone, &zx, &zy, &zw, &zh); + if (ec->desk->visible) + e_zone_useful_geometry_get(ec->zone, &zx, &zy, &zw, &zh); + else + { + x1 = ec->zone->x; + yy1 = ec->zone->y; + x2 = ec->zone->x + ec->zone->w; + y2 = ec->zone->y + ec->zone->h; + e_maximize_client_shelf_fill(ec, &x1, &yy1, &x2, &y2, max); + zx = x1, zy = yy1; + zw = x2 - x1; + zh = y2 - yy1; + } w = zw, h = zh; evas_object_smart_callback_call(ec->frame, "maximize", NULL); --
