wl_signal_init(&priv->events.get_bottom);
wl_signal_init(&priv->events.subsurface_stack_update);
- wl_signal_init(&priv->events.delete_request);
wl_signal_init(&priv->events.kill_request);
wl_signal_init(&priv->events.ping);
wl_signal_init(&priv->events.stay_within_margin);
_e_client_action_finish();
}
-EINTERN void
-e_client_act_close_begin(E_Client *ec)
-{
- E_OBJECT_CHECK(ec);
- E_OBJECT_TYPE_CHECK(ec, E_CLIENT_TYPE);
- if (ec->lock_close) return;
- if (ec->icccm.delete_request)
- {
- ec->delete_requested = 1;
- wl_signal_emit(&PRI(ec)->events.delete_request, ec);
- }
- else if (e_config->kill_if_close_not_possible)
- {
- e_client_act_kill_begin(ec);
- }
-}
-
EINTERN void
e_client_act_kill_begin(E_Client *ec)
{
wl_signal_add(&priv->events.get_bottom, listener);
}
-EINTERN void
-e_client_delete_request_listener_add(E_Client *ec, struct wl_listener *listener)
-{
- API_ENTRY;
- wl_signal_add(&priv->events.delete_request, listener);
-}
-
EINTERN void
e_client_kill_request_listener_add(E_Client *ec, struct wl_listener *listener)
{
EINTERN void e_client_act_move_begin(E_Client *ec, E_Event_Mouse_Button *ev);
EINTERN void e_client_act_resize_begin(E_Client *ec, E_Event_Mouse_Button *ev, E_Pointer_Mode resize_mode);
EINTERN void e_client_act_resize_end(E_Client *ec, E_Event_Mouse_Button *ev EINA_UNUSED);
-EINTERN void e_client_act_menu_begin(E_Client *ec, E_Event_Mouse_Button *ev, int key);
-EINTERN void e_client_act_close_begin(E_Client *ec);
EINTERN void e_client_act_kill_begin(E_Client *ec);
EINTERN void e_client_signal_move_begin(E_Client *ec, const char *sig, const char *src EINA_UNUSED);
EINTERN void e_client_get_bottom_listener_add(E_Client *ec, struct wl_listener *listener);
EINTERN void e_client_subsurface_stack_update_listener_add(E_Client *ec, struct wl_listener *listener);
-EINTERN void e_client_delete_request_listener_add(E_Client *ec, struct wl_listener *listener);
EINTERN void e_client_kill_request_listener_add(E_Client *ec, struct wl_listener *listener);
EINTERN void e_client_ping_listener_add(E_Client *ec, struct wl_listener *listener);
EINTERN void e_client_stay_within_margin_listener_add(E_Client *ec, struct wl_listener *listener);
e_client_raise(ec);
}
-static void
-_desk_area_cb_client_delete_request(struct wl_listener *listener, void *data)
-{
- E_Policy_Desk_Area_Private_Client *eda_client;
- E_Desk_Area *eda;
- E_Client *ec;
-
- eda_client = wl_container_of(listener, eda_client, delete_request);
- eda = eda_client->eda;
- ec = eda_client->ec;
-
- ELOGF("EDA", "CLIENT DELETE REQUEST. eda:%p", ec, eda);
-
- e_object_del(E_OBJECT(ec));
-
- e_comp_wl_focus_check();
-
- /* TODO: Delete request send ??
- * NB: No such animal wrt wayland */
-}
-
static void
_desk_area_cb_client_kill_request(struct wl_listener *listener, void *data)
{
e_client_ping_listener_add(ec, &eda_client->ping);
eda_client->kill_request.notify = _desk_area_cb_client_kill_request;
e_client_kill_request_listener_add(ec, &eda_client->kill_request);
- eda_client->delete_request.notify = _desk_area_cb_client_delete_request;
- e_client_delete_request_listener_add(ec, &eda_client->delete_request);
eda_client->comp_object_resize.notify = _desk_area_cb_comp_object_resize;
e_comp_object_resize_listener_add(ec->frame, &eda_client->comp_object_resize);
eda_client->comp_object_color_set.notify = _desk_area_cb_comp_object_color_set;