![当剪贴板内容与正则表达式匹配时执行操作](https://linux22.com/image/1276567/%E5%BD%93%E5%89%AA%E8%B4%B4%E6%9D%BF%E5%86%85%E5%AE%B9%E4%B8%8E%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F%E5%8C%B9%E9%85%8D%E6%97%B6%E6%89%A7%E8%A1%8C%E6%93%8D%E4%BD%9C.png)
我使用 KDE 的 Klipper 实用程序的“操作”功能,在将与特定正则表达式匹配的内容复制到剪贴板时运行某些命令。不幸的是,我必须打开启用剪贴板操作每次复制需要运行命令的内容时,都要从菜单中选择命令。我希望该命令能够自动运行。
你会认为这是可能的,因为有一个自动的操作设置对话框中的复选框:
不幸的是,这似乎什么也没做。Klipper 附带的文档没有说明该复选框应该做什么。
是否可以配置 Klipper,使其在剪贴板内容与正则表达式匹配时自动运行命令?如果不行,还有其他方法可以实现此目的吗?
答案1
我发现没有办法让 klipper 自动应用操作。klipper 自动执行的操作最多是弹出一个带有操作的菜单。实际应用操作需要再次单击鼠标。
操作属性对话框中的复选框Automatic
具有以下效果:如果您复制文本,并且该文本与配置的正则表达式匹配,则会弹出一个带有相应操作的菜单。请注意,Enable Clipboard Actions
必须启用才能实现此目的。如果或被Enable Clipboard Actions
禁用Automatic
,则复制时不会出现任何菜单。
替代方案:我四处寻找,没有找到可以满足您需求的剪贴板管理器(匹配正则表达式,自动修改剪贴板内容)。我测试了一些提供与 klipper 类似功能的剪贴板管理器。它们都不会自动应用操作,而是为配置的操作提供弹出菜单,就像 klipper 一样。
看来你必须编写自己的解决方案。
一个简单的实现可能看起来像这样:
- 监视剪贴板的内容。
- 如果内容发生变化,则与正则表达式匹配。
- 如果正则表达式匹配,则修改剪贴板的内容。
或者,你可以使用命令编写一个 shell 脚本xclip -o
来转储剪贴板的内容,并将xclip -i
修改后的内容插入剪贴板。
我发现一个项目似乎已经使用 perl 和以下xclip
命令实现了要点 1 和要点 2 的部分内容:https://github.com/trapd00r/clipbored。也许您可以从那里开始并进行修改以满足您的需要。