From cc71d5a2be7a7701735bcb892b2d74cc69acc280 Mon Sep 17 00:00:00 2001 From: AR Date: Sat, 10 Jan 2026 08:48:17 +0500 Subject: [PATCH] X11: Allow moving a fullscreen/maximized window to another screen/display --- platform/linuxbsd/x11/display_server_x11.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/platform/linuxbsd/x11/display_server_x11.cpp b/platform/linuxbsd/x11/display_server_x11.cpp index baacb385c19..9c8e0536d78 100644 --- a/platform/linuxbsd/x11/display_server_x11.cpp +++ b/platform/linuxbsd/x11/display_server_x11.cpp @@ -2350,10 +2350,12 @@ void DisplayServerX11::window_set_current_screen(int p_screen, WindowID p_window } if (window_get_mode(p_window) == WINDOW_MODE_FULLSCREEN || window_get_mode(p_window) == WINDOW_MODE_MAXIMIZED) { + WindowMode current_mode = window_get_mode(p_window); + window_set_mode(WINDOW_MODE_WINDOWED, p_window); Point2i position = screen_get_position(p_screen); Size2i size = screen_get_size(p_screen); - XMoveResizeWindow(x11_display, wd.x11_window, position.x, position.y, size.x, size.y); + window_set_mode(current_mode, p_window); } else { Rect2i srect = screen_get_usable_rect(p_screen); Point2i wpos = window_get_position(p_window) - screen_get_position(window_get_current_screen(p_window));