From 0ee54a524329ab8d3db7dbe8286dc97b0bf57bed Mon Sep 17 00:00:00 2001 From: Thomas Hebb Date: Mon, 21 Feb 2022 23:07:09 -0800 Subject: Don't enter seatop_move_floating when fullscreen Currently, a floating window that's been fullscreened can send us xdg_toplevel::move, and we'll enter seatop_move_floating, which lets us drag the surface around while it's fullscreen. We don't want this--fullscreen surfaces should always be aligned to the screen--so add the same check that seatop_default already does when entering this mode. Tested with Weston's weston-fullscreen demo, which sends a move request if you click anywhere on its surface. --- sway/desktop/xdg_shell.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'sway/desktop/xdg_shell.c') diff --git a/sway/desktop/xdg_shell.c b/sway/desktop/xdg_shell.c index 6af67207..51168f4c 100644 --- a/sway/desktop/xdg_shell.c +++ b/sway/desktop/xdg_shell.c @@ -360,7 +360,8 @@ static void handle_request_move(struct wl_listener *listener, void *data) { struct sway_xdg_shell_view *xdg_shell_view = wl_container_of(listener, xdg_shell_view, request_move); struct sway_view *view = &xdg_shell_view->view; - if (!container_is_floating(view->container)) { + if (!container_is_floating(view->container) || + view->container->pending.fullscreen_mode) { return; } struct wlr_xdg_toplevel_move_event *e = data; -- cgit v1.2.3-54-g00ecf