Linux有没有方法监控到剪贴板内容的变化?
软件环境:centos6.6
硬件环境:PC x86
Linux里面有selection或clipboard,相当于Windows的剪贴板,当文字被选中或者按Ctrl+C时,内容会进入剪贴板。
我最近在做一个功能:当剪贴板内容发生变化时,检测剪贴板内的新内容是否合法。
我当前遇到的一个问题就是如何监控剪贴板内容的变化,不是内容,是内容的变化,内容何时发生了变化。
我研究了一下剪贴板监控工具xclip的源码,其调用X11系列的Xmu库API,从剪贴板获取内容,采用的方式是查询。
通过不断读取剪贴板的内容,和上次作比较,当然也可以知晓剪贴板何时发生了变化,但查询这种方式非常耗时,而且效率也很低。
请问有没有一种类似回调函数或事件通知的方法,可以监控到剪贴板内容的变化?
比如:
当前剪贴板内容是abc,当剪贴板内容变为def的时候,我就可以得到一个通知或剪贴板内容变化事件。
谢谢各位。