Build status on GitLab CI Newest release on crates.io Documentation Number of downloads on crates.io Project license

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:

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.

```rust use copypastaext::prelude::*; use copypastaext::x11_fork::ClipboardContext;

fn main() { let mut ctx = ClipboardContext::new().unwrap(); println!("{:?}", ctx.getcontents()); ctx.setcontents("some string".into()).unwrap(); } ```

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.

```rust use copypastaext::prelude::*; use copypastaext::x11_bin::ClipboardContext;

fn main() { let mut ctx = ClipboardContext::new().unwrap(); println!("{:?}", ctx.getcontents()); ctx.setcontents("some string".into()).unwrap(); } ```

Requirements

Special thanks

License

This project is dual-licensed under the MIT and Apache2 license.