copypasta-ext
A clipboard library providing useful extensions for the
copypasta library.
I had a growing annoyance with copypasta, because the clipboard is
cleared on the Linux/X11 platform when your application exists as per X11
design. The crate maintainer didn't want to implement workarounds (for valid
reasons). This copypasta-ext crate provides additional
clipboard contexts that solve this, along with a few other additions.
Here are some of these additions:
X11ForkClipboardProvider: forks process and sets clipboard, keeps contents after exitX11BinClipboardProvider: invokesxclip/xselto set clipboard, keeps contents after exitOsc52ClipboardContext: use OSC 52 escape sequence to set clipboard contentsCombinedClipboardProvider: combine two providers, use different for getting/setting clipboard
This crate should work with the latest copypasta. Feel free to
open an issue or pull request otherwise. The copypasta crate is exposed as
copypasta_ext::copypasta.
Example
Get and set clipboard contents. Keeps contents in X11 clipboard after exit by
forking the process. Falls back to standard clipboard provider on non X11 platforms.
See x11_fork
module for details.
use *;
use ClipboardContext;
Get and set clipboard contents. Keeps contents in X11 clipboard after exit by
invoking xclip/xsel. Falls back to standard clipboard provider on non X11
platforms. See x11_bin
module for details.
use *;
use ClipboardContext;
Requirements
- Rust 1.41 or above
- Same requirements as
copypasta - Requirements noted in specific clipboard context modules
Special thanks
- to the maintainers/contributors of
rust-clipboardandcopypasta - to everyone involved in all crate dependencies used
License
This project is dual-licensed under the MIT and Apache2 license.