On Mon Aug 11 07:49:35 2025 +0000, Zhiyi Zhang wrote:
Yeah, I had an old patch that doesn't mark the window as fullscreen if the window rect doesn't match the monitor rect exactly, see https://gitlab.winehq.org/zhiyi/wine/-/commit/d236213b, but I didn't get it upstream at the time due to some potential problems. For example, I remember some games use a slightly larger window rect. Not having _NET_WM_STATE_FULLSCREEN will cause the taskbar to be shown on top of the game window. I will revisit d236213b and compare with native and see if a similar fix can be used.
It's also related to the exclusive fullscreen mode support, which we don't have. For example, when using exclusive fullscreen mode, the rendered content covers the exact fullscreen size, regardless of the window size. So using _NET_WM_STATE_FULLSCREEN is a workaround for that.
Implementing exclusive fullscreen seems possible. For example, [0001-dxgi-tests-Test-moving-the-window-for-a-fullscreen-swa.txt](/uploads/9e65af02f7ed1fed7c194dd99024ea02/0001-dxgi-tests-Test-moving-the-window-for-a-fullscreen-swa.txt) [0002-dxgi-Implement-exclusive-screen-mode-for-d3d11.txt](/uploads/b9ebb8e5cfe5f78b175ab3b8618cbd38/0002-dxgi-Implement-exclusive-screen-mode-for-d3d11.txt).