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

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

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

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

不幸的是,这似乎什么也没做。Klipper 附带的文档没有说明该复选框应该做什么。

是否可以配置 Klipper,使其在剪贴板内容与正则表达式匹配时自动运行命令?如果不行,还有其他方法可以实现此目的吗?

答案1

我发现没有办法让 klipper 自动应用操作。klipper 自动执行的操作最多是弹出一个带有操作的菜单。实际应用操作需要再次单击鼠标。

操作属性对话框中的复选框Automatic具有以下效果:如果您复制文本,并且该文本与配置的正则表达式匹配,则会弹出一个带有相应操作的菜单。请注意,Enable Clipboard Actions必须启用才能实现此目的。如果或被Enable Clipboard Actions禁用Automatic,则复制时不会出现任何菜单。

替代方案:我四处寻找,没有找到可以满足您需求的剪贴板管理器(匹配正则表达式,自动修改剪贴板内容)。我测试了一些提供与 klipper 类似功能的剪贴板管理器。它们都不会自动应用操作,而是为配置的操作提供弹出菜单,就像 klipper 一样。

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

一个简单的实现可能看起来像这样:

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

应该可以使用例如 python 和工具库或者介绍

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

我发现一个项目似乎已经使用 perl 和以下xclip命令实现了要点 1 和要点 2 的部分内容:https://github.com/trapd00r/clipbored。也许您可以从那里开始并进行修改以满足您的需要。

相关内容