我正在尝试编写一个 bash 脚本来控制在特定视口上打开的窗口的排列,但遇到了一个问题,基本上我找不到以正确顺序重新定位窗口的方法——“正确顺序”是我们可以通过 alt-tab 获得的顺序。
因此,通常我运行我的脚本并且窗口位于屏幕上的正确位置,但是运行它的终端最终位于其他窗口下方,这是因为 wmctrl 返回的窗口列表似乎不是按 alt-tab 顺序排列的。
也许 wmctrl 没有该信息,在这种情况下,我希望有人可以建议替代的界面或方法。
当我引起您的注意时,也许有人可以解释我发现的一个奇怪现象,即“wmctrl -lG”返回的窗口原点似乎以 1/2 像素为单位 +/- x 和 y 偏移量或“某些东西”(而宽度+高度以像素为单位)?
例如:
$ wmctrl -i -r 0x08e01de3 -e 0,100,100,-1,-1
将指定窗口移动到屏幕上看起来像 100,100 的位置,然后读回窗口信息:
$ wmctrl -lG|grep 0x08e01de3
0x08e01de3 0 196 246 1267 639 U10
196? 246?
它是一致的,并且很容易编码,但对我来说似乎很奇怪,让我担心我误解了一些东西。
感谢您的帮助,如果此帖违反了任何规则,我深表歉意。这是我的第一次“提问”,下次我会努力改进。