Skip to content

WaylandBackend: Skip cursor update for libdecor and UpdateCursor refactor - #2437

Open
ColinKinloch wants to merge 2 commits into
ValveSoftware:masterfrom
ColinKinloch:no_hide_libdecor_cursor
Open

ColinKinloch wants to merge 2 commits into
ValveSoftware:masterfrom
ColinKinloch:no_hide_libdecor_cursor

Conversation

@ColinKinloch

@ColinKinloch ColinKinloch commented Sep 25, 2026 •

Copy link
Copy Markdown

This skips the UpdateCursor method in cases where the pointer has not
entered a gamescope plane.

This fixes an issue where the cursor would be hidden after resizing or
moving the window using the libdecor frame.

I also refactored the method, it should be functionally the same.

There are three options for cursors; the host cursor, the guest cursor or no cursor. I flattened the nested blocks and moved the checks for each cursor resource to before where they're attached to the pointer.

Testing with

meson devenv -C _build gamescope -- env GDK_BACKEND=x11 gtk3-demo --run=cursors

master branch

Screencast.From.2026-09-25.00-45-16.mp4

This branch

Screencast.From.2026-09-25.00-46-06.mp4

This skips the UpdateCursor method in cases where the pointer has not
entered a gamescope plane.

This fixes an issue where the cursor would be hidden after resizing or
moving the window using the libdecor frame.
There are three options for cursors; the host cursor, the guest cursor
or no cursor. I flattened the nested blocks and moved the checks for
each cursor resource to before where they're attached to the pointer.
@ColinKinloch
ColinKinloch force-pushed the no_hide_libdecor_cursor branch from 3fed870 to e36ed71 Compare September 25, 2026 02:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant