pasteboard
This crate provides both a CLI and Rust bindings for interacting with the macOS pasteboard.
CLI
At the command-line, pasteboard
introduces a pb
command which can be used like:
# Copy/paste string
pb copy /path/to/foo.txt
pb paste /path/to/bar.txt
# Copy image/sound
pb copy /path/to/foo.png -t image
pb copy /path/to/foo.mp3 -t sound
Rust bindings
From Rust, pasteboard
exposes a Pasteboard
enum with copy
and paste
methods which can be used like:
use pasteboard::Pasteboard;
fn main() {
unsafe {
// Copy/paste string
Pasteboard::String.copy("/path/to/foo.txt");
Pasteboard::String.paste("/path/to/bar.txt");
// Copy image/sound
Pasteboard::Image.copy("/path/to/foo.png");
Pasteboard::Sound.copy("/path/to/foo.png");
}
}
Notes
The pb
command is able to copy files as strings, images, and sounds. However, it can only paste as strings currently, but more coverage is planned in future releases.