}
EINTERN void
-e_desktop_toplevel_move_begin(E_Desktop_Toplevel *toplevel, struct wl_resource *seat_resource)
+e_desktop_toplevel_interactive_move_begin(E_Desktop_Toplevel *toplevel, struct wl_resource *seat_resource)
{
E_Client *ec = e_surface_ec_get(toplevel->surface.surface);
}
EINTERN void
-e_desktop_toplevel_resize_begin(E_Desktop_Toplevel *toplevel, struct wl_resource *toplevel_resource, struct wl_resource *seat_resource, int32_t edges)
+e_desktop_toplevel_interactive_resize_begin(E_Desktop_Toplevel *toplevel, struct wl_resource *toplevel_resource, struct wl_resource *seat_resource, int32_t edges)
{
E_Client *ec = e_surface_ec_get(toplevel->surface.surface);
}
EINTERN void
-e_desktop_toplevel_size_get(E_Desktop_Toplevel *toplevel, int32_t *width, int32_t *height)
+e_desktop_toplevel_fullscreen_size_get(E_Desktop_Toplevel *toplevel, int32_t *width, int32_t *height)
{
E_Client *ec = e_surface_ec_get(toplevel->surface.surface);
- if (ec->fullscreen)
- e_client_base_output_resolution_useful_geometry_get(ec, NULL, NULL, width, height);
- else if (ec->maximized)
- e_client_maximized_geometry_get(ec, NULL, NULL, width, height);
+ e_client_base_output_resolution_useful_geometry_get(ec, NULL, NULL, width, height);
+}
+
+EINTERN void
+e_desktop_toplevel_maximized_size_get(E_Desktop_Toplevel *toplevel, int32_t *width, int32_t *height)
+{
+ E_Client *ec = e_surface_ec_get(toplevel->surface.surface);
+
+ e_client_maximized_geometry_get(ec, NULL, NULL, width, height);
}
EINTERN E_Client *
bool e_desktop_toplevel_is_fullscreen(E_Desktop_Toplevel *toplevel);
bool e_desktop_toplevel_is_maximized(E_Desktop_Toplevel *toplevel);
bool e_desktop_toplevel_is_activated(E_Desktop_Toplevel *toplevel);
-void e_desktop_toplevel_size_get(E_Desktop_Toplevel *toplevel, int32_t *width, int32_t *height);
#endif
void e_desktop_toplevel_title_set(E_Desktop_Toplevel *toplevel, const char *title);
void e_desktop_toplevel_app_id_set(E_Desktop_Toplevel *toplevel, const char *app_id);
void e_desktop_toplevel_parent_set(E_Desktop_Toplevel *toplevel, E_Desktop_Toplevel *parent);
-void e_desktop_toplevel_move_begin(E_Desktop_Toplevel *toplevel, struct wl_resource *seat_resource);
-void e_desktop_toplevel_resize_begin(E_Desktop_Toplevel *toplevel, struct wl_resource *toplevel_resource, struct wl_resource *seat_resource, int32_t edges);
+void e_desktop_toplevel_interactive_move_begin(E_Desktop_Toplevel *toplevel, struct wl_resource *seat_resource);
+void e_desktop_toplevel_interactive_resize_begin(E_Desktop_Toplevel *toplevel, struct wl_resource *toplevel_resource, struct wl_resource *seat_resource, int32_t edges);
void e_desktop_toplevel_fullscreen_request(E_Desktop_Toplevel *toplevel);
void e_desktop_toplevel_unfullscreen_request(E_Desktop_Toplevel *toplevel);
void e_desktop_toplevel_maximize_request(E_Desktop_Toplevel *toplevel);
void e_desktop_toplevel_window_geometry_set(E_Desktop_Toplevel *toplevel, int x, int y, int width, int height);
void e_desktop_toplevel_min_size_set(E_Desktop_Toplevel *toplevel, int width, int height);
void e_desktop_toplevel_max_size_set(E_Desktop_Toplevel *toplevel, int width, int height);
+void e_desktop_toplevel_fullscreen_size_get(E_Desktop_Toplevel *toplevel, int32_t *width, int32_t *height);
+void e_desktop_toplevel_maximized_size_get(E_Desktop_Toplevel *toplevel, int32_t *width, int32_t *height);
#endif
_toplevel_size_send(E_Desktop_Xdg_Toplevel_V6 *toplevel, int32_t width, int32_t height)
{
struct ds_xdg_toplevel_v6 *ds_toplevel = toplevel->ds_toplevel;
- int32_t configure_width = 0, configure_height = 0;
- int mw, mh;
- bool fullscreen, maximized;
+ int32_t cw = 0, ch = 0;
- fullscreen = e_desktop_toplevel_is_fullscreen(toplevel->toplevel);
- maximized = e_desktop_toplevel_is_maximized(toplevel->toplevel);
- if (fullscreen || maximized)
+ if (e_desktop_toplevel_is_fullscreen(toplevel->toplevel))
{
- e_desktop_toplevel_size_get(toplevel->toplevel, &mw, &mh);
+ e_desktop_toplevel_fullscreen_size_get(toplevel->toplevel, &cw, &ch);
LOG("toplevel_v6(%p) FORCELY STAY current size (%d %d) of E_Client, requested size "
- "is (%d %d), the state (maximize %d, fullscreen %d)",
- toplevel, mw, mh, width, height, maximized, fullscreen);
- configure_width = mw;
- configure_height = mh;
+ "is (%d %d), the state: fullscreen", toplevel, cw, ch, width, height);
+ }
+ else if (e_desktop_toplevel_is_maximized(toplevel->toplevel))
+ {
+ e_desktop_toplevel_maximized_size_get(toplevel->toplevel, &cw, &ch);
+ LOG("toplevel_v6(%p) FORCELY STAY current size (%d %d) of E_Client, requested size "
+ "is (%d %d), the state: maximized", toplevel, cw, ch, width, height);
}
else if ((width != -1) && (height != -1))
{
- configure_width = width;
- configure_height = height;
+ cw = width;
+ ch = height;
}
- LOG("toplevel_v6(%p) Send size(%dx%d)", toplevel, configure_width, configure_height);
+ LOG("toplevel_v6(%p) Send size(%dx%d)", toplevel, cw, ch);
- ds_xdg_toplevel_v6_set_size(ds_toplevel, configure_width, configure_height);
+ ds_xdg_toplevel_v6_set_size(ds_toplevel, cw, ch);
}
static void
{
LOG("toplevel_v6(%p) Begin interactive move", toplevel);
- e_desktop_toplevel_move_begin(toplevel->toplevel, seat_resource);
+ e_desktop_toplevel_interactive_move_begin(toplevel->toplevel, seat_resource);
}
static void
LOG("toplevel_v6(%p) Begin interactive resize", toplevel);
- e_desktop_toplevel_resize_begin(toplevel->toplevel, toplevel_resource, seat_resource, edges);
+ e_desktop_toplevel_interactive_resize_begin(toplevel->toplevel, toplevel_resource, seat_resource, edges);
}
static void