Unity で wmctrl を使用してウィンドウを左上隅に移動できないのはなぜですか?

Unity で wmctrl を使用してウィンドウを左上隅に移動できないのはなぜですか?

ウィンドウをより細かく制御するためにいろいろ試してみましたwmctrl。Unity が 2 倍のスペースを確保するという奇妙な動作に遭遇しました。
次のスクリーンショットをご覧ください。

ここに画像の説明を入力してください

ターミナルを開き、top コマンドを使用してウィンドウを移動しました。ウィンドウは左上隅 (X=0、Y=0) にあるはずです。しかし、何らかの理由でターミナルと Unity バーの間に余白があります。

私がマニュアルページを正しく理解しているなら、それは何か関係があるかもしれない西オーストラリア州: 65,24

これを修正するのに誰か手伝ってくれませんか?

答え1

おそらくあなたが探していた答えではないでしょう:

Unityとの組み合わせに関する問題wmctrl

残念ながら、Unity との組み合わせにはwmctrlいくつかの特殊性があり、あなたが説明した動作はその 1 つです。

出力を見てみると

  • あなた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

1792x1111を見ると、モニターの解像度が( + ) x ( + )WA: 65,24 1792x1111であることがわかります。18576517921135111124
この場合DG: 1857x1135は、ビューポート(ワークスペース)が1つしかないため、の値と完全に一致します。DGは、合計デスクトップのサイズ(すべてのビューポート)。

まとめ

どちらもウィンドウを設定すれば問題なく動作しwmctrlますxdotool最大化あなたが説明した効果は発生しません。移動またはサイズ変更ただし、ウィンドウはランチャーとパネルの両方から数ピクセルを残します。この答え。:
「移動/サイズ変更するウィンドウは、Unity ランチャーとトップ パネルの両方から少なくとも数ピクセル離れている必要があります。」

あなたが説明したこととは別に、あなたが遊び始めると遭遇するもう一つの問題wmctrlUnity偏差、に記載されているようにこれです

関連情報