Browse Source

Fix ToggleBorderlessFullscreen() Not Hiding Taskbar (#5383)

* Use glfwSetWindowMonitor instead of Pos and Size GLFW functions

* Fix window not resetting properly when toggling out of fullscreen, formatting
pull/5356/merge
Aly 1 day ago
committed by GitHub
parent
commit
78a81bf407
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
1 changed files with 18 additions and 4 deletions
  1. +18
    -4
      src/platforms/rcore_desktop_glfw.c

+ 18
- 4
src/platforms/rcore_desktop_glfw.c View File

@ -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);

Loading…
Cancel
Save