if (!win) return;
if ((w <= 0) || (h <= 0)) return;
- if ((win->geometry.w != w) || (win->geometry.h != h))
+ if ((w > 0) && (h > 0))
_ecore_wl2_window_configure_send(win, w, h, edges);
}
EINA_SAFETY_ON_NULL_RETURN(window);
- /* test for no-op move */
- /* if ((window->geometry.x == x) && (window->geometry.y == y)) */
- /* return; */
-
- window->geometry.x = x;
- window->geometry.y = y;
-
input = window->input;
if ((!input) && (window->parent))
{
EINA_SAFETY_ON_NULL_RETURN(window);
- /* test for no-op resize */
- /* if ((window->geometry.w == w) && (window->geometry.h == h)) */
- /* return; */
-
- window->geometry.w = w;
- window->geometry.h = h;
-
input = window->input;
if ((!input) && (window->parent))
{
if (window->type == ECORE_WL2_WINDOW_TYPE_TOPLEVEL)
{
+ window->saved = window->geometry;
+
if (window->xdg_surface)
xdg_surface_set_maximized(window->xdg_surface);
else if (window->wl_shell_surface)
window->type = ECORE_WL2_WINDOW_TYPE_TOPLEVEL;
- /* FIXME: Should this be sending a 'saved' geom ?? */
- _ecore_wl2_window_configure_send(window, window->geometry.x,
- window->geometry.y, 0);
+ _ecore_wl2_window_configure_send(window, window->saved.w,
+ window->saved.h, 0);
}
}
if (fullscreen)
{
+ window->saved = window->geometry;
+
if (window->xdg_surface)
xdg_surface_set_fullscreen(window->xdg_surface, NULL);
else if (window->wl_shell_surface)
window->type = ECORE_WL2_WINDOW_TYPE_TOPLEVEL;
- /* FIXME: Should this be sending a 'saved' geom ?? */
- _ecore_wl2_window_configure_send(window, window->geometry.x,
- window->geometry.y, 0);
+ _ecore_wl2_window_configure_send(window, window->saved.w,
+ window->saved.h, 0);
}
}