13 releases (7 stable)
| 4.0.0 | Nov 27, 2025 |
|---|---|
| 4.0.0-beta.6 | Jun 4, 2024 |
| 4.0.0-beta.5 | Feb 6, 2024 |
| 3.1.3 | Nov 23, 2021 |
| 0.1.0 | Mar 17, 2017 |
#259 in Unix APIs
578 downloads per month
Used in clip_tex
23KB
396 lines
clipboard-master
Clipboard monitoring library.
Supported platforms
- Windows - uses dummy window to receive messages when clipboard changes;
- Linux - uses x11_clipboard
- MacOS - uses polling via
NSPasteboard::changeCountas there is no event notification.
Clipboard Master Library
This project exports Master struct that provides simple way to handle clipboard updates.
Example:
extern crate clipboard_master;
use clipboard_master::{Master, ClipboardHandler, CallbackResult};
use std::io;
struct Handler;
impl ClipboardHandler for Handler {
fn on_clipboard_change(&mut self) -> CallbackResult {
println!("Clipboard change happened!");
CallbackResult::Next
}
fn on_clipboard_error(&mut self, error: io::Error) -> CallbackResult {
eprintln!("Error: {}", error);
CallbackResult::Next
}
}
fn main() {
let mut master = Master::new(Handler).expect("create new monitor");
let shutdown = master.shutdown_channel();
std::thread::spawn(move || {
std::thread::sleep(core::time::Duration::from_secs(1));
println!("I did some work so time to finish...");
shutdown.signal();
});
//Working until shutdown
master.run().expect("Success");
}
Dependencies
~0–8MB
~172K SLoC