為什麼在 Unity 中無法使用 wmctrl 將視窗移到左上角?

為什麼在 Unity 中無法使用 wmctrl 將視窗移到左上角?

我一直在嘗試wmctrl更好地控制我的窗戶。我遇到了一種奇怪的行為,Unity 保留了雙倍的空間。
請參閱此螢幕截圖:

在此輸入影像描述

我打開終端機並使用 top 命令移動視窗。它應該位於左上角 (X=0 Y=0)。但由於某種原因,終端機和 Unity 欄之間存在一些餘裕。

如果我正確理解了手冊頁,它可能與西澳:65,24

有人能幫我解決這個問題嗎?

答案1

可能不是您正在尋找的答案:

Unity 與 Unity 組合的問題wmctrl

不幸的是,Unity 的組合wmctrl有一些特殊性,您所描述的行為就是其中之一。

查看你的輸出

  • 65,24提到的,是寬度Unity 啟動器和高度您的面板。
  • 在行中:

    0x03400005  0 0   24    65   1111  janw_VirtualBox unity-launcher
    

    在輸出中wmctrl -lG,您可以看到啟動器是定位x=0, y=24,而發射器的大小為65 x 1111。 (1111是螢幕的高度減去面板的高度)

嚴格來說,將活動視窗放置在左上角的命令應該是:

wmctrl -r :ACTIVE: -e 0,65,24,1500,550

並不是:

wmctrl -r :ACTIVE: -e 0,0,0,1500,550

然而,這並不能解決問題,它只是一個錯誤。仍然會有你描述的邊緣。順便說一句,使用時也會發生同樣的情況xdotool(預設不安裝):

xdotool windowmove "$(xdotool getactivewindow)"  65 24

或者

xdotool windowmove "$(xdotool getactivewindow)"  0 0

讀取輸出wmctrl -dG

查看1792x1111in WA: 65,24 1792x1111,您可以看到顯示器解析度為1857( 65+ 1792) x 1135( 1111+ 24)。
在這種情況下,它與 中的值完全匹配DG: 1857x1135,因為您只有一個視口(工作空間):DG代表全部的桌面的大小(所有視窗)。

總結

如果你設定一個窗口,兩者都可以正常wmctrl工作xdotool最大化。不會出現你描述的效果。移動或者調整大小然而,視窗將在啟動器和麵板上留下一些像素,如中所述這個答案。:
“要移動/調整大小的視窗需要距離 Unity 啟動器和頂部面板至少幾個像素。”

除了您所描述的之外,如果您開始使用 和 ,您還會遇到的另一個wmctrl問題Unity偏差,如中所述這個

相關內容