Repository navigation
Various cursor image-copy fixes - #2571
Merged
Merged
Conversation
Drakulix
reviewed
Jul 15, 2026
Drakulix
left a comment
Member
There was a problem hiding this comment.
Looks mostly good. Lots of neat little changes, I like it :)
The `wl_buffer` now won't be released until sync fence polls ready.
A bit better than just a tuple.
This ensures we avoid advertising a `0,0` buffer size (which will protocol error to actually allocate), and avoids defining the supported formats for cursor capture buffers in a bunch of places.
Inference behavior can be confusing, and the coordinate here is global, so use `Global` like the `PointerMotion*` event handlers.
Gnome seems to send `motion` in these cases. The spec isn't 100% explicit, but it seems `motion` events are needed for the client to have the same understanding of where the pointer is as the compositor, which generally seems to be desired. This is also needed for toplevel cursor image-copy to get the position change. Likewise, we want image-copy to have the same understanding of where the cursor is as the compositor and client.
Member
Author
|
Rebased on latest |
jklgrasso
approved these changes
Jul 21, 2026
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.
There are more edge cases around image-copy to address, as well as inconsistency between handling of
PointerMotion/PointerMotionAbsolute, along with more code deduplication, workspace capture, and #2248. But the changes here should be a good incremental improvement.The changes related to metadata cursor capture won't have an effect without pop-os/xdg-desktop-portal-cosmic#175.
This also has a change to hold a references to
Buffer, that should prevent some potential synchronization issues (though in most cases it should have no effect). And it also changes the pointer warp behavior to sendwl_pointer::motion, which seems to match Gnome.