好的,给定一个窗口的 XID,我需要获取其桌面或视口以及当前活动的桌面或视口。Enlightenment 似乎无法正确响应 wmctrl,这导致:
***@note:~ > wmctrl -lG
0x01e00002 -1 21 395 310 146 note Conky (note) # it places conkey wndows on -1 for some reason?
0x01c00002 -1 65 655 230 158 note Conky (note)
0x01a00002 -1 25 215 230 182 note Conky (note)
0x01800002 -1 25 550 310 110 note Conky (note)
0x01600002 -1 685 145 230 120 note Conky (note)
0x01400002 -1 1120 245 280 206 note Conky (note)
0x01200002 -1 1095 35 230 186 note Conky (note)
0x01000002 -1 1145 470 250 266 note Conky (note)
0x00c00002 -1 40 34 230 182 note Conky (note)
0x00e00029 0 0 0 1440 900 note ~ : bash – Konsole # desktop 2, fullscreen
0x03a00060 0 505 231 899 642 note Downloads – 'Dolphin' # destkop 0
0x0480001a 0 206 222 958 526 note Lifelover - Kärlek - becksvart melankoli #desk 2
0x034000e6 0 116 32 984 767 note clemctrl – Kate #desk 0
0x02c01b78 0 309 314 549 520 note ************* # desk 1
0x04e00062 0 104 31 990 619 note XChat: *** @ Free / #*** (+Ccnt) #desk 1
0x05c00112 0 22 35 1396 834 note StarCraft on Reddit - Chromium #desk 3
0x02c0f292 0 453 356 549 520 note *** #desk 1
0x02c000c0 0 860 216 557 645 note Buddy List # desk 1
可以看出,除了 conky 窗口外,所有窗口都在 wmctrl 中的桌面 0 上。此外,几何视口技巧似乎也不起作用,但在某些 wm 中却有效,还有其他技巧可以获取窗口在哪个视口/桌面上吗?必须有一些怎样才能正确使用?
答案1
简短的回答是启蒙运动没有正确处理这个问题。
原因是 enlightenment 更智能,能做的比 x11 期望的更多,例如,可以将监视器 1 更改为虚拟桌面(视口)3,并将监视器 2 留在虚拟桌面 1 上。此时,大多数工具(例如 wmctrl)都会感到非常困惑,因为他们认为应该在所有监视器之间共享同一个虚拟桌面。
因为启蒙运动这样做,它会自行存储大部分状态,因此可以使用启蒙运动_远程工具查询其中的一些状态,但目前它非常有限,但也许您可以修改它以提供您正在寻找的信息。