Restore X11 fullscreen requests for monitor-sized borderless windows

Port the fullscreen policy omitted when adapting PR #12. Track requested fullscreen state across frame and style changes, exclude unmanaged windows, and use EWMH REMOVE when leaving fullscreen.

Extend the native geometry probe and document passive tracing for the reported vertical click offset, whose cause remains unconfirmed.
This commit is contained in:
lucannez64 committed 2026-10-16 17:13:11 +02:00
1 parent d7a51ede17
commit 3778d518b7
5 files changed
+209 -24

No files matched your search

+7 -3
View File
@@ -434,7 +434,7 @@ build/test-x11-relative-mouse
The native probe requires the existing per-user AppKit and CoreGraphics overlays
and a running X11/Xwayland display. It rebuilds the changed X11 and CoreGraphics
objects and tests them in a temporary framework overlay, without installing them.
Six `DISPLAY_GEOMETRY ...=pass` lines are required; full output is saved in
Seven `DISPLAY_GEOMETRY ...=pass` lines are required; full output is saved in
`build/pr12-display-check.log`.
It checks the live primary screen's origin, synthetic single-monitor and offset
@@ -445,8 +445,12 @@ relative deltas, both RandR cache-invalidation events, and the root-screen fallb
Warps are intercepted: the probe does not move the desktop pointer or send game
input. Synthetic layouts exercise coordinate conversion and display API behavior;
they do not simulate physical monitor hotplug or validate League rendering.
Fullscreen policy is unchanged. Manually verify game launch, window placement,
click alignment and edge panning on the affected monitor layout before rollout.
The probe also checks that managed borderless windows covering a whole monitor
request EWMH fullscreen, including on secondary monitors, and clear the property
when resized before mapping. Titled windows, unmanaged popups and windows sized
to the panel-reduced work area are excluded. Mapped-window transitions and panel
stacking require manual verification under KDE Plasma/Xwayland. Also verify game
launch, window placement, click alignment and edge panning before rollout.
After installing the tested X11 and CoreGraphics binaries locally, the user
reported that everything was working (2026-10-16). Fullscreen policy was unchanged.
+30
View File
@@ -236,6 +236,36 @@ The backend's relative mouse mode (`CGAssociateMouseAndMouseCursorPosition(false
For a manual comparison, keep the scene, FPS cap, display refresh and compositor settings the same. Record whether the delay affects the cursor itself, camera movement, or actions after clicking, and compare the in-game VSync setting on and off. Include the desktop/compositor, X11 or Xwayland session, GPU/driver, monitor refresh and fullscreen/windowed mode in the report. Do not automate game input. The fullscreen cursor-shape problem below is a separate known symptom.
## Click offset grows towards the bottom of the screen
A growing vertical offset has been reported on KDE Plasma/Wayland with Xwayland.
The cause is unconfirmed, including whether it is related to commit `426fb75`.
The borderless fullscreen request has been restored separately; retest alignment
once the game covers the panel.
If it persists, enable the passive input trace before the next manual game launch:
```sh
darling shell touch /tmp/rclol-input-trace
```
The flag is checked once per process, so enable it before launching the game.
During a short manual test, compare clicks near the top, middle and bottom, and
note the direction and approximate size of the error. Include the in-game
resolution and window mode, Plasma's scale setting for each monitor, and the
host output of `xrandr --listmonitors`. Collect the guest log with:
```sh
darling shell cat /tmp/rclol-input-trace.log > rclol-input-trace.log
darling shell rm -f /tmp/rclol-input-trace
```
Removing the flag disables tracing for subsequently started processes. The log
records motion, warps, pointer-position queries and relative-mode transitions;
it can establish whether the relative path is active, but cannot by itself
establish where the game rendered a clicked target. If practical, compare the
same resolution in a smaller window and in borderless fullscreen.
## Cursor stops changing shape in fullscreen
On Hyprland the game's cursor can keep its first shape (for example, it never switches to the attack cursor) until you leave and re-enter fullscreen. Darling sends every change to the X server; what freezes the shape on screen is Hyprland's direct scanout of the fullscreen Xwayland window. Turn it off in `hyprland.conf`: