Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Conversation

@Decodetalkers
Copy link
Collaborator

@Decodetalkers Decodetalkers commented Dec 15, 2025

https://github.com/waycrate/xdg-desktop-portal-luminous/blob/master/src/pipewirethread.rs#L159-L170

relate logic is here.

First try

I always found that the the cursor cannot be shown when using the ext-image-copy. I though maybe I cast the i32 to u32, and then I always get 0. but after I print the value of options, it always be PaintCursors!!

Second try

Then I think maybe the PaintCursors is a fake one, or maybe something wrong with from_bits, then I try to fixed the options to Options::from_bits(1), and the cursor shown!

Final try

Then I cannot believe my mind. I try something that impossible. I create another i32 value

let cursor_overlay: i32 = 1;

and just print the origin cursor_overlay, and even add a assert_eq, to check if the input one is the same as the new one.

They are the same

but with the new value, cursor_overlay(1), the cursor shown. Then I deleted the line of the new value, the cursor gone, with the input param of cursor_overlay(1) and Options::PaintCursors

This is a magic of these days.. I do not know who to blame

Etc

I also tried

 let session = if cursor_overlay == 1 {
       manager.create_session(&source, Options::PaintCursors, &qh, ());
  } else {
        manager.create_session(&source, Options::empty(), &qh, ());
 };

It also did not work

@Decodetalkers Decodetalkers marked this pull request as draft December 15, 2025 13:42
@Decodetalkers
Copy link
Collaborator Author

ok, I found a way to solve it right now.. but ... I still not know what really happened.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant