fix maximize size calculation on non-current desks with shelves

This commit is contained in:
Mike Blumenkrantz 2014-02-21 16:40:09 -05:00
parent 21d9b84c53
commit d6c037ff30
1 changed files with 13 additions and 1 deletions

View File

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