关于我之前提出的这个问题,我需要查看 Gnome-Do 弹出窗口的 X 属性。问题是一旦 Gnome-Do 窗口失去焦点它就会关闭,所以我无法将焦点转移到终端上运行xprop
。我一直在网上看到的答案是:
sleep 5; xprop
然后打开Gnome-Do窗口等待xprop
启动。这看起来很聪明,但根本行不通:
$ 睡 5; xprop xprop: 错误: 无法抓取鼠标。
这同样适用于xwininfo
:
$ 睡 5; xwin信息 xwininfo: 请选择您所关注的窗口 想通过点击信息 鼠标在该窗口中。 xwininfo: 错误: 无法抓取鼠标。
我也试过xprop
使用Mod+R
Awesome WM 中的快捷方式运行,但是当 Gnome-Do 窗口打开时,快捷方式不起作用。它只是在搜索框中键入一个 r。
我没有更多的想法。我该怎么做呢?
xprop
如果您运行下面的脚本,它会在最前面的窗口(运行命令)上记录命令的输出 10 秒(或您设置的任何其他时间xprop -root
)。随后,它会在时间过去后将输出写入文件:outfile.txt
如果确保
Gnome-Do
在脚本完成之前保持窗口处于活动状态,则可以确定最后一条记录对应于该Gnome-Do
窗口。使用它
只需将下面的脚本复制到一个空文件中,在 head 部分中设置输出文件的所需路径(
outfile =
,使用绝对路径)。另存为record_xprop.py
通过命令启动脚本:
调用您的
Gnome-Do
窗口(或您需要从中获取数据的任何其他应用程序)。时间过去后,您的输出文件将显示命令输出的五倍
xprop -root
,以虚线分隔。笔记
如果您需要更多时间,只需更改行中的“5”:
变成你需要的任何其他价值
剧本
编辑
如果由于某种原因这不起作用(显然窗口不是最前面的,如识别的那样
xprop
),我们可以使用wmctrl -l
命令(在脚本中替换xprop -root
为)执行相同的技巧,首先通过名称识别窗口。 完成后,我们可以随后再次运行,并带有选项,以获取所需的信息:wmctrl -l
xprop
-name
xprop -name <windowname>
对于这两个命令,您可以运行
sleep
命令,或者,如果您需要更多时间,则再次运行脚本。雅各布在评论中得到了它!
使用
sleep 1; wmctrl -l
命令,然后打开 Gnome-Do,我得到了这个输出:其中显示了 Gnome-Do 窗口的名称。然后我可以使用名称来识别 xprop 的窗口:
这给了我想要的输出: