-
-
Notifications
You must be signed in to change notification settings - Fork 2.4k
X11 mate clipboard #12002
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
X11 mate clipboard #12002
Conversation
You can test this PR using the following package version. |
You can test this PR using the following package version. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Would it be possible to add unit tests for this?
I'm ready to add the necessary unit tests for the x11 clipboard. But I couldn't find a test project with x11 support. Please indicate in which project I can add these tests |
Yeah, we don't have platform-specific tests for Linux @jmacato |
You can test this PR using the following package version. |
You can test this PR using the following package version. |
You can test this PR using the following package version. |
You can test this PR using the following package version. |
What does the pull request do?
Fixes custom format data saving if CLIPBOARD_MANAGER is available.
Adds a wait for the data to be saved to CLIPBOARD_MANAGER to complete.
What is the current behavior?
Linux Mint 21.1 Mate 64.
Linux Ubuntu 18.04
Unstable use of custom data formats, such as the file copy format, even if the save (SetDataObjectAsync) succeeds and the subsequent read (GetDataAsync) returns the values written, the ability to paste the file is still not available on X11.
Code example:
The current implementation of X11Clipboard.SetDataObjectAsync with the existing CLIPBOARD_MANAGER only stores text atoms,
StoreAtomsInClipboardManager(_textAtoms)
. The required formats will be processed later, in OnEvent.Also, saving with StoreAtomsInClipboardManager.CLIPBOARD_MANAGER does not wait for completion, which would sometimes confuse the X11 event stream because a new format/data request might arrive before the data was stored.
What is the updated/expected behavior with this PR?
Stable saving of data in various formats.
Added a TaskCompletionSource to asynchronously wait for the completion of the store in the StoreAtomsInClipboardManager.
How was the solution implemented (if it's not obvious)?
Checklist
Breaking changes
Obsoletions / Deprecations
Fixed issues