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);

-- 


Reply via email to