
我正在編寫一個腳本,需要確定視窗放置在哪個視窗中。
我的桌面是 2x2(4 個視窗);它通常被認為是 4 個虛擬桌面,但在 compiz/unity 上,它實際上是一個視口,並且只有一個桌面,基於xdotool get_num_desktops
.
為了便於解釋,請查看這些視窗(不過不確定這些是否真的是它們的 ID):
0 1
2 3
將您的視窗置於視窗 2,運行xwininfo -all
,然後按一下您的視窗;您將獲得其 ID,並看到「左上角」值都很小,就像位於視窗 0 處一樣,但這些值實際上是相對於視窗 2 的。
此外,您找不到有關它在哪個視口的資訊。
您可以透過以下方式找到更多資訊:
wmctrl -d
顯示有關我們所在視窗的精確資訊。
xdotool get_desktop_viewport
對於視口 2 和 3 將無法精確。
答案1
其實很簡單,視窗視口位置資訊是相對於目前視口的。
因此,只需鍵入xwininfo
並選擇一個視窗即可。
現在,變更視窗和類型xwininfo -id 0x...
(0x...是您為視窗收集的 ID),位置值將顯示為目前視窗限制之外,相對值基於目前視窗,如下所示:
Absolute upper-left X: -1270
Absolute upper-left Y: 62
基於此可以確定視窗在哪裡。
在本例中,我位於視窗 1 上,視窗位於視窗 0 上。