[E_CLIENT_HOOK_RESIZE_BEGIN] = NULL,
[E_CLIENT_HOOK_RESIZE_UPDATE] = NULL,
[E_CLIENT_HOOK_RESIZE_END] = NULL,
+ [E_CLIENT_HOOK_FULLSCREEN_PRE] = NULL,
[E_CLIENT_HOOK_DEL] = NULL,
[E_CLIENT_HOOK_UNREDIRECT] = NULL,
[E_CLIENT_HOOK_REDIRECT] = NULL,
E_OBJECT_CHECK(ec);
E_OBJECT_TYPE_CHECK(ec, E_CLIENT_TYPE);
- if ((ec->shaded) || (ec->shading) || ec->fullscreen) return;
+ if ((ec->shaded) || (ec->shading) || (ec->fullscreen)) return;
+
+ _e_client_hook_call(E_CLIENT_HOOK_FULLSCREEN_PRE, ec);
+
+ if (ec->skip_fullscreen) return;
+
if (ec->new_client)
{
ec->need_fullscreen = 1;
E_CLIENT_HOOK_RESIZE_BEGIN,
E_CLIENT_HOOK_RESIZE_UPDATE,
E_CLIENT_HOOK_RESIZE_END,
+ E_CLIENT_HOOK_FULLSCREEN_PRE,
E_CLIENT_HOOK_DEL,
E_CLIENT_HOOK_UNREDIRECT,
E_CLIENT_HOOK_REDIRECT,
unsigned int need_shape_export : 1;
unsigned int fullscreen : 1;
unsigned int need_fullscreen : 1;
+ unsigned int skip_fullscreen : 1;
unsigned int already_unparented : 1;
unsigned int need_reparent : 1;
unsigned int button_grabbed : 1;