wl_signal_emit_mutable(&PRI(ec)->events.fullscreen_pre, NULL);
_e_client_hook_call(E_CLIENT_HOOK_FULLSCREEN_PRE, ec);
+ if (ec->skip_fullscreen) return;
+ if (ec->new_client)
+ {
+ ec->need_fullscreen = 1;
+ return;
+ }
+
+ ec->fullscreen = 1;
+
// call the fullscreen hook of a client
wl_signal_emit_mutable(&PRI(ec)->events.fullscreen, &policy);
if ((ec->shaded) || (ec->shading)) return;
if (!ec->fullscreen) return;
+ ec->fullscreen = 0;
+ ec->need_fullscreen = 0;
+
E_Fullscreen policy = ec->fullscreen_policy;
// call the unfullscreen hook of a client
desk = e_zone_desk_find_by_ec(zone, ec);
EINA_SAFETY_ON_NULL_RETURN(desk);
- if (ec->skip_fullscreen) return;
-
if (!desk->visible) return;
- if (ec->new_client)
- {
- ec->need_fullscreen = 1;
- return;
- }
-
if (e_comp->nocomp_ec && (e_desk_has_ec(desk, e_comp->nocomp_ec)))
e_comp->nocomp_ec = ec;
desk->fullscreen_clients = eina_list_append(desk->fullscreen_clients, ec);
ec->saved.layer = ec->layer;
e_client_layer_set(ec, E_LAYER_CLIENT_FULLSCREEN);
- ec->fullscreen = 1;
if ((eina_list_count(e_comp->zones) > 1) ||
(fullscreen_policy == E_FULLSCREEN_RESIZE))
{
EINA_SAFETY_ON_NULL_RETURN(desk);
ec->pre_res_change.valid = 0;
- ec->fullscreen = 0;
- ec->need_fullscreen = 0;
desk->fullscreen_clients = eina_list_remove(desk->fullscreen_clients, ec);
if (fullscreen_policy == E_FULLSCREEN_ZOOM)