#clipboard #x11 #content #exit #platform #escaping #copypasta

copypasta-ext

一个提供对 copypasta 有用扩展的剪贴板库

10 个版本

0.4.4 2023年2月23日
0.4.3 2023年2月20日
0.4.1 2023年1月19日
0.3.9 2022年6月18日
0.3.0 2020年5月28日

#105 in Unix APIs

Download history 3319/week @ 2024-04-23 4419/week @ 2024-04-30 3665/week @ 2024-05-07 2943/week @ 2024-05-14 3018/week @ 2024-05-21 3372/week @ 2024-05-28 2611/week @ 2024-06-04 2895/week @ 2024-06-11 3495/week @ 2024-06-18 4137/week @ 2024-06-25 4012/week @ 2024-07-02 3988/week @ 2024-07-09 2886/week @ 2024-07-16 2998/week @ 2024-07-23 2374/week @ 2024-07-30 2227/week @ 2024-08-06

10,955 月下载量
用于 24 个crate (19 直接)

MIT/Apache

52KB
723 行代码(不含注释)

Build status on GitLab CI Newest release on crates.io Documentation Number of downloads on crates.io Project license

copypasta-ext

一个为 copypasta 库提供有用扩展的剪贴板库。

我对 copypasta 有一点点烦恼,因为按照 X11 的设计,在 Linux/X11 平台上,当你的应用程序退出时,剪贴板会被清除。crate 维护者不想实现解决方案(有正当的理由)。这个 copypasta-ext crate 提供了额外的剪贴板上下文来解决这个问题,还有一些其他的功能。

以下是其中一些功能

要运行时猜测最佳剪贴板提供者,请查看 DisplayServer 类。为支持剪贴板系统启用所有所需的编译器功能标志,并使用 DisplayServer::select().try_context() 来获取剪贴板上下文。

这个crate应与最新的 copypasta 一起工作。如有其他问题或pull request,请随时提出。 copypasta crate作为 copypasta_ext::copypasta 暴露。

示例

获取和设置剪贴板内容。通过分叉进程在 X11 剪贴板中保留内容。在非 X11 平台上回退到标准剪贴板提供者。有关详细信息,请参阅 x11_fork 模块。

use copypasta_ext::prelude::*;
use copypasta_ext::x11_fork::ClipboardContext;

fn main() {
    let mut ctx = ClipboardContext::new().unwrap();
    println!("{:?}", ctx.get_contents());
    ctx.set_contents("some string".into()).unwrap();
}

获取和设置剪贴板内容。通过调用 xclip/xsel 保持退出后X11剪贴板内容。在非X11平台上回退到标准剪贴板提供者。有关详细信息,请参阅x11_bin模块。

use copypasta_ext::prelude::*;
use copypasta_ext::x11_bin::ClipboardContext;

fn main() {
    let mut ctx = ClipboardContext::new().unwrap();
    println!("{:?}", ctx.get_contents());
    ctx.set_contents("some string".into()).unwrap();
}

要求

  • Rust 1.60或更高版本(MSRV)
  • copypasta相同的要求
  • 特定剪贴板上下文模块中的要求

特别感谢

许可证

此项目根据MITApache2许可证双重授权。

依赖关系

~0–9.5MB
~98K SLoC