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; diff --git a/sway/desktop/xwayland.c b/sway/desktop/xwayland.c index 2f11b5fc..483398e9 100644 --- a/sway/desktop/xwayland.c +++ b/sway/desktop/xwayland.c @@ -594,7 +594,8 @@ static void handle_request_move(struct wl_listener *listener, void *data) { if (!xsurface->mapped) { return; } - if (!container_is_floating(view->container)) { + if (!container_is_floating(view->container) || + view->container->pending.fullscreen_mode) { return; } struct sway_seat *seat = input_manager_current_seat();