当剪贴板内容匹配正则表达式时执行操作

Pat*_*hes 6 linux clipboard kde

当我将某些内容复制到与特定正则表达式匹配的剪贴板时,我使用 KDE 的 Klipper 实用程序的操作功能来运行某些命令。不幸的是,每次复制要运行命令的内容时,我都必须打开“启用剪贴板操作”并从菜单中选择命令。我想让该命令自动运行。

您会认为这是可能的,因为操作设置对话框中有一个自动复选框:

不幸的是,这似乎无济于事。Klipper 随附的文档并未指明该复选框应该做什么。

如果剪贴板的内容与正则表达式匹配,是否可以将 Klipper 配置为自动运行命令?如果没有,是否有另一种方法来实现这一目标?

les*_*ana 4

我找不到方法告诉 klipper 自动应用该操作。klipper 自动执行的最多操作是弹出一个包含操作的菜单。需要再次单击鼠标才能实际应用该操作。

操作属性对话框中的复选框Automatic具有以下效果:如果复制文本,并且该文本与配置的正则表达式匹配,则会弹出包含相应操作的菜单。请注意,Enable Clipboard Actions必须为此启用。如果 或Enable Clipboard ActionsAutomatic禁用,则副本上不会出现任何菜单。

对于替代方案:我环顾四周,发现没有剪贴板管理器可以执行您想要的操作(匹配正则表达式,自动修改剪贴板内容)。我测试了一些剪贴板管理器,它们提供与 klipper 类似的功能。它们都不会自动应用操作,而是为配置的操作提供弹出菜单,就像 klipper 一样。

看来您必须编写自己的解决方案。

一个简单的实现可能如下所示:

  1. 监视剪贴板的内容。
  2. 如果内容发生变化,则与正则表达式匹配。
  3. 如果正则表达式匹配,则修改剪贴板的内容。

应该可以使用 python 和PyGTKPyQt等进行编码。

或者,您可以使用命令xclip -o转储剪贴板的内容来编写 shell 脚本,并将xclip -i修改后的内容插入剪贴板。

我发现一个项目似乎已经使用 perl 和xclip命令实现了第 1 点和第 2 点中的一些:https://github.com/trapd00r/clipbored。也许您可以从那里开始表单并修改它以满足您的需要。

  • 感谢您指向“xclip”的指针;这使得写一些东西来做我需要做的事情变得非常简单。 (2认同)