if (!ec->fullscreen)
{
- evas_object_smart_callback_call(ec->frame, "unmaximize_pre", NULL);
-
// call the unmaximize hook of a client
wl_signal_emit(&PRI(ec)->events.unmaximize, &max);
}
static void
-_e_comp_wl_evas_cb_unmaximize_pre(void *data, Evas_Object *obj EINA_UNUSED, void *event EINA_UNUSED)
-{
- E_Client *ec = data;
-
- ec->comp_data->maximize_pre = 1;
-}
-
-static void
_e_comp_wl_evas_cb_unmaximize_done(void *data, Evas_Object *obj EINA_UNUSED, void *event EINA_UNUSED)
{
E_Client *ec = data;
if (!ec->override)
{
- evas_object_smart_callback_add(ec->frame, "unmaximize_pre", _e_comp_wl_evas_cb_unmaximize_pre, ec);
evas_object_smart_callback_add(ec->frame, "unmaximize_done", _e_comp_wl_evas_cb_unmaximize_done, ec);
evas_object_smart_callback_add(ec->frame, "fullscreen", _e_comp_wl_evas_cb_fullscreen, ec);
evas_object_smart_callback_add(ec->frame, "unfullscreen", _e_comp_wl_evas_cb_unfullscreen, ec);
if (!ec->override)
{
- evas_object_smart_callback_del(ec->frame, "unmaximize_pre", _e_comp_wl_evas_cb_unmaximize_pre);
evas_object_smart_callback_del(ec->frame, "unmaximize_done", _e_comp_wl_evas_cb_unmaximize_done);
evas_object_smart_callback_del(ec->frame, "fullscreen", _e_comp_wl_evas_cb_fullscreen);
evas_object_smart_callback_del(ec->frame, "unfullscreen", _e_comp_wl_evas_cb_unfullscreen);
eda = eda_client->eda;
ec = eda_client->ec;
+ // "override = 1" means that ec is not controlled by wm policy
+ if (ec->override) return;
if (ec->fullscreen) return;
max = *((E_Maximize *)data);
if (ec->maximized & E_MAXIMIZE_TYPE)
{
+ ec->comp_data->maximize_pre = 1;
+
ec->pre_res_change.valid = 0;
ec->changes.need_maximize = 0;