diff --git a/src/platforms/rcore_desktop_glfw.c b/src/platforms/rcore_desktop_glfw.c index 4f4e2c141..211e0f701 100644 --- a/src/platforms/rcore_desktop_glfw.c +++ b/src/platforms/rcore_desktop_glfw.c @@ -265,8 +265,15 @@ void ToggleBorderlessWindowed(void) const int monitorHeight = mode->height; // Set screen position and size - glfwSetWindowPos(platform.handle, monitorPosX, monitorPosY); - glfwSetWindowSize(platform.handle, monitorWidth, monitorHeight); + glfwSetWindowMonitor( + platform.handle, + monitors[monitor], + monitorPosX, + monitorPosY, + monitorWidth, + monitorHeight, + mode->refreshRate + ); // Refocus window glfwFocusWindow(platform.handle); @@ -281,8 +288,15 @@ void ToggleBorderlessWindowed(void) // Return previous screen size and position // NOTE: The order matters here, it must set size first, then set position, otherwise the screen will be positioned incorrectly - glfwSetWindowSize(platform.handle, CORE.Window.previousScreen.width, CORE.Window.previousScreen.height); - glfwSetWindowPos(platform.handle, CORE.Window.previousPosition.x, CORE.Window.previousPosition.y); + glfwSetWindowMonitor( + platform.handle, + NULL, + CORE.Window.previousPosition.x, + CORE.Window.previousPosition.y, + CORE.Window.previousScreen.width, + CORE.Window.previousScreen.height, + mode->refreshRate + ); // Refocus window glfwFocusWindow(platform.handle);