}
static void
-_e_comp_wl_evas_cb_unfullscreen(void *data, Evas_Object *obj EINA_UNUSED, void *event EINA_UNUSED)
-{
- E_Client *ec = data;
-
- if (e_object_is_del(E_OBJECT(ec))) return;
-
- /* check for wayland pixmap */
-
- if (ec->comp_data->shell.configure_send)
- _e_comp_wl_configure_send(ec, 0, 0);
-
- ec->comp_data->maximize_pre = 0;
-}
-
-static void
_e_comp_wl_evas_cb_delete_request(void *data, Evas_Object *obj EINA_UNUSED, void *event EINA_UNUSED)
{
E_Client *ec;
evas_object_event_callback_priority_add(ec->frame, EVAS_CALLBACK_FOCUS_IN, EVAS_CALLBACK_PRIORITY_AFTER, _e_comp_wl_evas_cb_focus_in, ec);
evas_object_event_callback_priority_add(ec->frame, EVAS_CALLBACK_FOCUS_OUT, EVAS_CALLBACK_PRIORITY_AFTER, _e_comp_wl_evas_cb_focus_out, ec);
- if (!ec->override)
- {
- evas_object_smart_callback_add(ec->frame, "unfullscreen", _e_comp_wl_evas_cb_unfullscreen, ec);
- }
-
/* setup delete/kill callbacks */
evas_object_smart_callback_add(ec->frame, "delete_request", _e_comp_wl_evas_cb_delete_request, ec);
evas_object_smart_callback_add(ec->frame, "kill_request", _e_comp_wl_evas_cb_kill_request, ec);
evas_object_event_callback_del(ec->frame, EVAS_CALLBACK_FOCUS_IN, _e_comp_wl_evas_cb_focus_in);
evas_object_event_callback_del(ec->frame, EVAS_CALLBACK_FOCUS_OUT, _e_comp_wl_evas_cb_focus_out);
- if (!ec->override)
- {
- evas_object_smart_callback_del(ec->frame, "unfullscreen", _e_comp_wl_evas_cb_unfullscreen);
- }
-
evas_object_smart_callback_del(ec->frame, "delete_request", _e_comp_wl_evas_cb_delete_request);
evas_object_smart_callback_del(ec->frame, "kill_request", _e_comp_wl_evas_cb_kill_request);
eda = eda_client->eda;
ec = eda_client->ec;
+ // "override = 1" means that ec is not controlled by wm policy
+ if (ec->override) return;
+
ec->pre_res_change.valid = 0;
eda->fullscreen_clients = eina_list_remove(eda->fullscreen_clients, ec);
if (!e_client_util_ignored_get(ec))
e_client_frame_update(ec);
- evas_object_smart_callback_call(ec->frame, "unfullscreen", NULL);
+ if (ec->comp_data->shell.configure_send)
+ _e_comp_wl_configure_send(ec, 0, 0);
+
+ ec->comp_data->maximize_pre = 0;
if (ec->maximized)
{
e_client_frame_update(ec);
// re-set maximized state for unmaximize smart callback.
ec->maximized = tmp_max;
- evas_object_smart_callback_call(ec->frame, "unfullscreen", NULL);
// un-set maximized state.
ec->maximized = E_MAXIMIZE_NONE;
e_client_util_move_resize_without_frame(ec,