fix(cua-driver): isolate Wayland cursors across outputs - #3151
Closed
jacob-vincent-mink wants to merge 4 commits into
Closed
fix(cua-driver): isolate Wayland cursors across outputs#3151jacob-vincent-mink wants to merge 4 commits into
jacob-vincent-mink wants to merge 4 commits into
Conversation
Author
|
Attribution coordination: the three extracted commits are authored by @spencerbull and retain |
jacob-vincent-mink
added a commit
to jacob-vincent-mink/cua
that referenced
this pull request
Aug 13, 2026
Create one initialized layer-shell surface per enabled output, preserve independent named-session cursor state, and keep explicit lifecycle revival aligned with the current session contract. Adapted with permission from the focused Wayland overlay commits in spencerbull/cua. Salvaged from trycua#3151 Co-authored-by: Spencer Bull <7035687+spencerbull@users.noreply.github.com>
spencerbull
added a commit
to spencerbull/cua
that referenced
this pull request
Aug 17, 2026
Create one initialized layer-shell surface per enabled output, preserve independent named-session cursor state, and keep explicit lifecycle revival aligned with the current session contract. Adapted with permission from the focused Wayland overlay commits in spencerbull/cua. Salvaged from trycua#3151 Co-authored-by: Spencer Bull <7035687+spencerbull@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Scope
This PR is intentionally limited to the native Wayland cursor overlay. It does not add Hyprland window discovery, capture, or input routing; browser cursor visualization; or the negative-coordinate placement-state change from #3019.
Existing work and coordination
wayland/overlay.rsfor a distinct negative-coordinate fix. This draft should be rebased after whichever same-file change lands first; it does not supersede that PR.The first three commits were moved with
git cherry-pick -xfromspencerbull/cua, preserving Spencer Bull as their author and recording each source SHA. The final commit is the current-main lifecycle adaptation.Validation
Candidate:
dbb306c3c7fad34e3fdb3444a2309f1f4d14f46bgit diff --check refs/remotes/upstream/main...HEADcargo fmt --all -- --checkcargo test -p platform-linux wayland::overlay --lib: 18 passedcargo test -p platform-linux --lib: 278 passed, 4 environment-dependent ignoredcargo test -p cua-driver --test wayland_overlay_idle_test: compiled; 2 live-display tests ignored without an isolated Wayland runtimecargo check -p platform-linux --all-targetsKnown gap before readiness
The extracted candidate has not yet been replayed through the canonical Linux desktop E2E harness on a current-main Hyprland or Sway runtime. The original source commits were live-tested on a three-output Hyprland session, including capture completion with every overlay layer active, but that earlier source SHA is supporting evidence rather than certification of this rebased candidate.