E_Zone *zone;
E_Client *ec;
E_Desk *desk;
- int x, y, w, h;
E_Fullscreen fullscreen_policy;
zone_client = wl_container_of(listener, zone_client, client_fullscreen);
desk->fullscreen_clients = eina_list_append(desk->fullscreen_clients, ec);
ec->pre_res_change.valid = 0;
- if (ec->maximized)
- {
- x = ec->saved.x;
- y = ec->saved.y;
- w = ec->saved.w;
- h = ec->saved.h;
- }
- else
+ if (!ec->maximized)
{
ec->saved.x = ec->client.x - zone->x;
ec->saved.y = ec->client.y - zone->y;
ec->saved.maximized = ec->maximized;
ec->saved.zone = zone->num;
- if (ec->maximized)
- {
- e_client_unmaximize(ec, E_MAXIMIZE_BOTH);
- ec->saved.x = x;
- ec->saved.y = y;
- ec->saved.w = w;
- ec->saved.h = h;
- }
-
ec->saved.layer = ec->layer;
e_client_layer_set(ec, E_LAYER_CLIENT_FULLSCREEN);
evas_object_smart_callback_call(ec->frame, "unfullscreen", NULL);
- e_client_util_move_resize_without_frame(ec, zone->x + ec->saved.x,
- zone->y + ec->saved.y,
- ec->saved.w, ec->saved.h);
-
- if (ec->saved.maximized)
- e_client_maximize(ec, (ec->maximize_type & E_MAXIMIZE_TYPE) |
- ec->saved.maximized);
+ if (ec->maximized)
+ {
+ int saved_x = ec->saved.x;
+ int saved_y = ec->saved.y;
+ int saved_w = ec->saved.w;
+ int saved_h = ec->saved.h;
+ e_client_maximize_update(ec);
+ ec->saved.x = saved_x;
+ ec->saved.y = saved_y;
+ ec->saved.w = saved_w;
+ ec->saved.h = saved_h;
+ }
+ else
+ {
+ e_client_util_move_resize_without_frame(ec, zone->x + ec->saved.x,
+ zone->y + ec->saved.y,
+ ec->saved.w, ec->saved.h);
+ }
e_client_layer_set(ec, ec->saved.layer);