![找到给定窗口的 X Atom?](https://linux22.com/image/230712/%E6%89%BE%E5%88%B0%E7%BB%99%E5%AE%9A%E7%AA%97%E5%8F%A3%E7%9A%84%20X%20Atom%EF%BC%9F.png)
使用密集波管理作为我的窗口管理器ArchLinux我没有任何补丁来处理上下文菜单或“右键单击”功能。
既然如此我决定写一篇简洁的重击运行的别名xclip
(我稍后可以使用它重新映射到鼠标按钮)库输入等等)。
我现在的问题是,我正在尝试将我的选择重定向xclip
到特定窗口,但我没有找到如何获取X 原子到目前为止的任何命令。
我已经尝试过xprop
,xwininfo
但返回的数据均不匹配原子。
任何帮助或见解表示赞赏。
答案1
xprop(1)当将原子的名称作为参数给出时,返回原子。例如,执行
xprop WM_PROTOCOLS
并单击英石窗口返回:
WM_PROTOCOLS(ATOM): protocols WM_DELETE_WINDOW
做同样的事情,然后点击 Ungoogled Chromium 窗口给出
WM_PROTOCOLS(ATOM): protocols WM_DELETE_WINDOW, _NET_WM_PING, _NET_WM_SYNC_REQUEST
要以编程方式返回给定其名称的原子,可以使用 Xlib 函数X内部原子(3)。
中的一个X.Org 应用程序是xlsatoms,其中列出了 X 服务器上定义的所有原子。正如 @meuh 提到的,有一个用 Python 编写的版本,包含在包中python-xlib
在目录中例子。