static void
_shell_destroy(E_Desktop_Shell *shell)
{
+ INF("Destroy E_Desktop_Shell");
+
wl_signal_emit(&shell->events.destroy, shell);
if (shell->e_comp_wl_shell)
if (!shell->e_comp_wl_shell)
goto err;
+ INF("Create E_Desktop_Shell");
+
return shell;
err:
_shell_destroy(shell);
EINTERN void
e_desktop_shell_toplevel_add(E_Desktop_Shell *shell, E_Desktop_Toplevel *toplevel)
{
+ ELOGF("TOPLEVEL", "New E_Desktop_Toplevel(%p)", toplevel->surface.ec, toplevel);
+
wl_signal_emit(&shell->events.new_toplevel, toplevel);
}
if (!surface->iface)
return;
+ ELOGF("SURFACE", "Send configure: edges(%d) width(%d) height(%d)", surface->ec, edges, width, height);
+
surface->iface->configure_send(surface->iface, edges, width, height);
}
if (!surface->iface)
return;
+ ELOGF("SURFACE", "Configure: %d,%d %dx%d", surface->ec, x, y, width, height);
+
if (surface->iface->configure)
surface->iface->configure(surface->iface, x, y, width, height);
else
if (!surface->iface)
return;
+ ELOGF("SURFACE", "Map", surface->ec);
+
if (surface->iface->map)
surface->iface->map(surface->iface);
else
if (!surface->iface)
return;
+ ELOGF("SURFACE", "Unmap", surface->ec);
+
if (surface->iface->unmap)
surface->iface->unmap(surface->iface);
else
{
_surface_init(&toplevel->surface, e_surface, iface);
_toplevel_init(toplevel, shell_surface_resource);
+
+ ELOGF("TOPLEVEL", "Initialize E_Desktop_Toplevel(%p)", toplevel->surface.ec, toplevel);
}
EINTERN void
e_desktop_toplevel_finish(E_Desktop_Toplevel *toplevel)
{
+ ELOGF("TOPLEVEL", "Finish E_Desktop_Toplevel(%p)", toplevel->surface.ec, toplevel);
+
_surface_finish(&toplevel->surface);
}
EINTERN void
e_desktop_toplevel_title_set(E_Desktop_Toplevel *toplevel, const char *title)
{
+ ELOGF("TOPLEVEL", "Set title: %s", toplevel->surface.ec, title ?: "(null)");
e_shell_e_client_name_title_set(toplevel->surface.ec, title, title);
}
EINTERN void
e_desktop_toplevel_app_id_set(E_Desktop_Toplevel *toplevel, const char *app_id)
{
+ ELOGF("TOPLEVEL", "Set app_id: %s", toplevel->surface.ec, app_id ?: "(null)");
e_shell_e_client_app_id_set(toplevel->surface.ec, app_id);
}
if (parent)
epc = parent->surface.ec;
+ ELOGF("TOPLEVEL", "Set parent: ec(%p)", toplevel->surface.ec, epc);
e_client_parent_set(toplevel->surface.ec, epc);
EC_CHANGED(toplevel->surface.ec);
}
EINTERN void
e_desktop_toplevel_interactive_move_begin(E_Desktop_Toplevel *toplevel, struct wl_resource *seat_resource)
{
+ ELOGF("TOPLEVEL", "Begin interactive move: seat_resource(%p)", toplevel->surface.ec, seat_resource);
e_shell_e_client_interactive_move(toplevel->surface.ec, seat_resource);
}
EINTERN void
e_desktop_toplevel_interactive_resize_begin(E_Desktop_Toplevel *toplevel, struct wl_resource *toplevel_resource, struct wl_resource *seat_resource, int32_t edges)
{
+ ELOGF("TOPLEVEL", "Begin interactive resize: seat_resource(%p), edges(%d)", toplevel->surface.ec, seat_resource, edges);
e_shell_e_client_interactive_resize(toplevel->surface.ec, toplevel_resource, seat_resource, edges);
}
{
E_Client *ec = toplevel->surface.ec;
+ ELOGF("TOPLEVEL", "Request fullscreen: lock_user_fullscreen(%d)", ec, ec->lock_user_fullscreen);
+
if (ec->lock_user_fullscreen)
return;
{
E_Client *ec = toplevel->surface.ec;
+ ELOGF("TOPLEVEL", "Request unfullscreen: lock_user_fullscreen(%d)", ec, ec->lock_user_fullscreen);
+
if (ec->lock_user_fullscreen)
return;
E_Client *ec = toplevel->surface.ec;
E_Maximize max = ec->maximize_type | E_MAXIMIZE_BOTH;
+ ELOGF("TOPLEVEL", "Request maximize: lock_user_maximize(%d)", ec, ec->lock_user_maximize);
+
if (ec->lock_user_maximize)
return;
{
E_Client *ec = toplevel->surface.ec;
+ ELOGF("TOPLEVEL", "Request unmaximize", ec);
+
e_client_layout_apply(ec, EINA_FALSE);
ec->maximize_dir = E_MAXIMIZE_DIRECTION_NONE;
{
E_Client *ec = toplevel->surface.ec;
+ ELOGF("TOPLEVEL", "Request minimize: lock_client_iconify(%d)", ec, ec->lock_client_iconify);
+
if (ec->lock_client_iconify)
return;
EINTERN void
e_desktop_toplevel_window_geometry_set(E_Desktop_Toplevel *toplevel, int x, int y, int width, int height)
{
+ ELOGF("TOPLEVEL", "Set window geometry: %d,%d %dx%d", toplevel->surface.ec, x, y, width, height);
EINA_RECTANGLE_SET(&toplevel->surface.ec->comp_data->shell.window, x, y, width, height);
}
{
E_Client *ec = toplevel->surface.ec;
+ ELOGF("TOPLEVEL", "Set min size: lock_client_size(%d) size(%dx%d)",
+ toplevel->surface.ec, ec->lock_client_size, width, height);
+
if (ec->lock_client_size)
return;
{
E_Client *ec = toplevel->surface.ec;
+ ELOGF("TOPLEVEL", "Set max size: lock_client_size(%d) size(%dx%d)",
+ toplevel->surface.ec, ec->lock_client_size, width, height);
+
if (ec->lock_client_size)
return;
if (toplevel->ds_toplevel->parent)
parent = _toplevel_from_shell_surface_resource(toplevel->ds_toplevel->parent->base->resource);
- LOG("toplevel_v6(%p) Set parent(%p)", toplevel, parent);
-
e_desktop_toplevel_parent_set(&toplevel->base, parent ? &parent->base : NULL);
}
{
char *title = toplevel->ds_toplevel->title;
- LOG("toplevel_v6(%p) Set title: %s", toplevel, title ? title : "(null)");
-
e_desktop_toplevel_title_set(&toplevel->base, title);
}
{
char *app_id = toplevel->ds_toplevel->app_id;
- LOG("toplevel_v6(%p) Set app_id: %s", toplevel, app_id ? app_id : "(null)");
-
e_desktop_toplevel_app_id_set(&toplevel->base, app_id);
}
static void
_toplevel_move_begin(E_Desktop_Xdg_Toplevel_V6 *toplevel, struct wl_resource *seat_resource)
{
- LOG("toplevel_v6(%p) Begin interactive move", toplevel);
-
e_desktop_toplevel_interactive_move_begin(&toplevel->base, seat_resource);
}
{
struct wl_resource *toplevel_resource = toplevel->ds_toplevel->resource;
- LOG("toplevel_v6(%p) Begin interactive resize", toplevel);
-
e_desktop_toplevel_interactive_resize_begin(&toplevel->base, toplevel_resource, seat_resource, edges);
}
toplevel = wl_container_of(listener, toplevel, request_maximize);
- LOG("toplevel_v6(%p) Request maximize(%d)", toplevel, toplevel->ds_toplevel->requested.maximized);
-
if (toplevel->ds_toplevel->requested.maximized)
e_desktop_toplevel_maximize_request(&toplevel->base);
else
toplevel = wl_container_of(listener, toplevel, request_fullscreen);
- LOG("toplevel_v6(%p) Request fullscreen(%d)", toplevel, toplevel->ds_toplevel->requested.fullscreen);
-
if (toplevel->ds_toplevel->requested.fullscreen)
e_desktop_toplevel_fullscreen_request(&toplevel->base);
else
toplevel = wl_container_of(listener, toplevel, request_minimize);
- LOG("toplevel_v6(%p) Set minimize", toplevel);
-
e_desktop_toplevel_minimize_request(&toplevel->base);
}