18个稳定版本 (3个主要版本)
3.4.0 | 2024年4月29日 |
---|---|
3.3.2 | 2024年3月2日 |
3.3.1 | 2024年2月12日 |
3.3.0 | 2023年11月20日 |
0.1.1 | 2020年9月6日 |
#7 in 操作系统
每月338,065次下载
在 512 个crate中使用 (152 个直接使用)
115KB
2K SLoC
Arboard (Arthur的剪贴板)
概述
这是一个跨平台的库,用于与剪贴板交互。它允许以平台无关的方式在Linux、Mac和Windows上复制和粘贴文本和图像数据。
GNU/Linux
GNU/Linux实现默认使用X协议来管理剪贴板,但请放心,Wayland也可以很好地与X11协议协同工作。此外,此实现使用剪贴板选择(与首选选择不同),并在应用程序退出时将数据发送到剪贴板管理器,以确保使用您的应用程序放入剪贴板的数据在退出后仍然可用。
还有一个可选的通过 wl-clipboard-rs
crate 的Wayland数据控制后端。可以通过 wayland-data-control
功能启用它。启用后,它将优先于X11后端,但如果初始化失败,实现将自动回退到使用X11协议。请注意,在我的测试中,Wayland后端在进程退出后没有保留剪贴板内容。(尽管在我的Wayland设置中,X11后端也没有做到这一点)。
示例
use arboard::Clipboard;
fn main() {
let mut clipboard = Clipboard::new().unwrap();
println!("Clipboard text was: {}", clipboard.get_text().unwrap());
let the_string = "Hello, world!";
clipboard.set_text(the_string).unwrap();
println!("But now the clipboard text should be: \"{}\"", the_string);
}
另一个剪贴板crate
这是一个基于 rust-clipboard
的分支。选择分支而不是提交PR的原因是 rust-clipboard
已不再维护。此外,请注意,这个crate的API与rust-clipboard
的API有很大的不同。目前已经有大量的clipboard crate,这有点不幸;我不知道为什么会发生这种情况,但既然如此,我们不妨自己命名clipboard crate。这个是arboard,代表Artur的clipboard。
依赖项
~0–15MB
~194K SLoC