8 个版本
0.4.1 | 2023年10月31日 |
---|---|
0.4.0 | 2023年3月23日 |
0.3.1 | 2021年11月6日 |
0.3.0 | 2021年10月26日 |
0.1.1 | 2020年9月8日 |
在 文本处理 中排名 551
每月下载量 1,206
用于 11 个 crate(9 个直接使用)
17KB
311 代码行
terminal-clipboard
terminal-clipboard 是一个专注于终端应用程序字符串复制和粘贴的跨平台剪贴板库
- 它在 Linux、Windows 和 Android (Termux) 上进行了测试
- 它只处理字符串类型,不处理其他类型
- 它不处理非 UTF8 字符串
使用方法
terminal_clipboard::set_string("test").unwrap();
assert_eq!("test", terminal_clipboard::get_string().unwrap());
支持的平台
当前实现是从编译目标的 "target_os" 部分选择的。
Android (Termux)
当前的实现将回退到 Termux API 功能以访问 Android 剪贴板,如果运行时 Termux API 不可用,则不会工作。
如果您知道在没有 Termux 的情况下访问 Android 剪贴板的方法,请提出问题。
Linux
如果检测到类 Unix 目标且未启用 "termux" 功能,terminal-clipboard 将使用 x11-clipboard crate。
您需要 libxcb
来编译。
在 Debian 和 Ubuntu 上,您可以使用以下命令安装它们
sudo apt install libxcb1-dev libxcb-render0-dev libxcb-shape0-dev libxcb-xfixes0-dev -y
Fedora、Centos、Red Hat
sudo dnf install libxcb -y
openSUSE
sudo zypper --non-interactive install xorg-x11-util-devel libxcb-composite0 libxcb-render0 libxcb-shape0 libxcb-xfixes0
Arch Linux
sudo pacman -Syu --noconfirm libxcb
Alpine 不受支持。对于 Alpine,您必须使用 musl
而不是 gnu
,并提供替代行为。
#[cfg(not(target_env = "musl"))]
{
terminal_clipboard::set_string(answer_text).unwrap();
assert_eq!(*answer_text, terminal_clipboard::get_string().unwrap());
println!("Text '{answer_text}' was copied to your clipboard")
}
#[cfg(target_env = "musl")]
{
println!("{}", answer_text);
}
Windows
如果编译目标是 "windows",terminal-clipboard 将使用 clipboard-win crate。如果您只对这一平台感兴趣,您应直接使用此 crate。
依赖项
~0–1.5MB
~30K SLoC