A clipboard for Rust
Find a file
2020-09-01 21:14:21 +02:00
examples Removed the primary selection example. 2020-09-01 21:14:21 +02:00
src Merge branch 'arboard-add-image' into add-image 2020-09-01 21:01:26 +02:00
.gitignore Upgrade to rustc 1.0.0-dev (47551b574 2015-04-14) (built 2015-03-18) 2015-04-23 18:09:02 +02:00
.travis.yml Fix #50: Use family=unix - macos, instead of os=unix 2018-02-08 17:53:10 +00:00
appveyor.yml Enable CI via Travis and Appveyor. 2017-03-08 16:05:10 -05:00
Cargo.toml Merge branch 'arboard-add-image' into add-image 2020-09-01 21:01:26 +02:00
LICENSE-APACHE.txt Renamed set/get_contents to set/get_text. Updated the license file structure. 2020-05-23 16:19:17 +02:00
LICENSE-MIT.txt Renamed set/get_contents to set/get_text. Updated the license file structure. 2020-05-23 16:19:17 +02:00
LICENSE.txt Renamed set/get_contents to set/get_text. Updated the license file structure. 2020-05-23 16:19:17 +02:00
osx_clipboard_expanded.rs Implemented set_image on macOS. 2020-07-13 16:21:57 +02:00
README.md Update readme 2020-09-01 21:11:51 +02:00
rustfmt.toml Implemented set_image on macOS. 2020-07-13 16:21:57 +02:00

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. Most notably this crate allows setting and getting image data to/from the clipboard.

Prerequisites

On Linux you need the x11 library, install it with something like:

sudo apt-get install xorg-dev

Example

extern crate arboard;

use arboard::{ClipboardContext, ClipboardProvider};

fn example() {
    let mut ctx = ClipboardContext::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.