使用 xclip 统计粘贴事件

使用 xclip 统计粘贴事件

xclip 是 X 剪贴板的命令行界面。当我尝试使用此工具设置安全功能时,我发现了一些我无法理解的效果。

我所做的是将字符串通过管道传输到 xclip 中,并将循环选项设置为 1(xclip 在循环设置为 1 的单个粘贴事件后退出),如下所示:

echo test | xclip -loops 1 -display :0 -selection c -verbose

然后,当我尝试粘贴到我的 Linux Mate 桌面上时,我观察到以下情况:将循环设置为 1 后,粘贴到 Web 表单或 Firefox 搜索栏中就可以正常工作,但粘贴到 Firefox 的地址栏中却无法正常工作。

为了粘贴到 Firefox 地址栏,必须将循环增加到 2,即“消耗”两个粘贴事件。粘贴到 Google Chrome 的地址栏会消耗 4 个粘贴事件。即使粘贴到像 Pluma 这样的简单文本编辑器也需要 2 个粘贴事件。

但为什么会这样呢?为什么有时需要多次提供剪贴板内容才能成功粘贴到应用程序中,以及为什么应用程序的行为如此不同?

答案1

我猜答案与此类似:https://stackoverflow.com/a/24332080/266747——本质上,Firefox 可能会多次读取主要剪贴板来收集所有可用的目标(尽管这并不一定在地址栏上下文中有意义)。

这是@dirkt 在评论中所说的,但我在尝试自己回答同样的问题时偶然发现了 stackoverflow 链接,所以我想分享一下。

相关内容