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 操作系统

Download history 74020/week @ 2024-05-02 64819/week @ 2024-05-09 78728/week @ 2024-05-16 77716/week @ 2024-05-23 86328/week @ 2024-05-30 69423/week @ 2024-06-06 71846/week @ 2024-06-13 74954/week @ 2024-06-20 83249/week @ 2024-06-27 75342/week @ 2024-07-04 80409/week @ 2024-07-11 79298/week @ 2024-07-18 83872/week @ 2024-07-25 76467/week @ 2024-08-01 81945/week @ 2024-08-08 77760/week @ 2024-08-15

每月338,065次下载
512 个crate中使用 (152 个直接使用)

MIT/Apache

115KB
2K SLoC

Arboard (Arthur的剪贴板)

Latest version Documentation MSRV

概述

这是一个跨平台的库,用于与剪贴板交互。它允许以平台无关的方式在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