mirror of
https://github.com/1Password/arboard.git
synced 2025-12-23 06:01:09 +00:00
A clipboard for Rust
| examples | ||
| src | ||
| .gitignore | ||
| .travis.yml | ||
| appveyor.yml | ||
| Cargo.toml | ||
| LICENSE-APACHE.txt | ||
| LICENSE-MIT.txt | ||
| LICENSE.txt | ||
| README.md | ||
arboard
This crate is a fork of rust-clipboard and a cross-platform library for getting and setting the contents of the OS-level clipboard. It adds wayland support
Prerequisites
On Linux you need the x11 library, install it with something like:
sudo apt-get install xorg-dev
Example
extern crate clipboard;
use clipboard::ClipboardProvider;
use clipboard::ClipboardContext;
fn example() {
let mut ctx: ClipboardContext = ClipboardProvider::new().unwrap();
println!("{:?}", ctx.get_text());
ctx.set_text("some string".to_owned()).unwrap();
}
API
The ClipboardProvider trait has the following functions:
fn new() -> Result<Self, Box<Error>>;
fn get_text(&mut self) -> Result<String, Box<Error>>;
fn set_text(&mut self, String) -> Result<(), Box<Error>>;
ClipboardContext is a type alias for one of {WindowsClipboardContext, OSXClipboardContext, X11ClipboardContext}, all of which implement ClipboardProvider. Which concrete type is chosen for ClipboardContext depends on the OS (via conditional compilation).
License
rust-clipboard is dual-licensed under MIT and Apache2.