linux – 是由xlib实现的剪贴板或由各个应用程序实现的剪贴板

ICCCM定义了三个选项1)主要2)次要3)剪贴板.但是在xlib中,xatom.h只定义了XA_PRIMARY和XA_SECONDARY,但剪贴板没有这样的原子.所以我怀疑剪贴板是由xlib实现还是必须由主要和次要的单个应用程序实现?

如果它必须由各个应用程序实现,那么不同的应用程序如何与剪贴板交互,如同从一个应用程序的窗口复制并粘贴到另一个应用程序的窗口……?不同应用程序如何共享公共缓冲区?任何人都可以帮助在Linux中实际执行剪贴板..?我已经完成了这个 link .但是我找到了很多关于实现的信息.

解决方法:

bash $xlsatoms | fgrep CLIPBOARD
231     CLIPBOARD
bash $fgrep -r XA_CLIPBOARD /usr/include/X11
/usr/include/X11/Xmu/Atoms.h:    _XA_CLIPBOARD,
/usr/include/X11/Xmu/Atoms.h:#define XA_CLIPBOARD(d)            XmuInternAtom(d, _XA_CLIPBOARD)

所以我们有一个原子,没问题.您也可以按名称实习.

CLIPBOARD选择的实现方式与其他选择完全相同.唯一的区别是选择所有权被断言的时刻.对于PRIMARY,当用户选择某事时它被断言;对于CLIPBOARD,它是用户剪切或复制的时候.

上一篇:从另一个进程关闭XLib应用程序


下一篇:RHSA-2018:3059-低危: X.org X11 安全和BUG修复更新