wmctrlから取得した座標でXウィンドウのジオメトリを指定する


9

ではXのドキュメント私はそれを読んでWidthHeightXpositionおよびYposition使用する際に座標が、端末の文字で指定する必要があります。

gnome-terminal --geometry=WidthxHeight+Xposition+Yposition

wmctrl -lG出力から取得した座標を入力座標として使用する場合(wmctrlピクセル、終端文字、または幾何学的単位として別のものを使用するかどうかが不明)、期待した結果が得られません。つまり、によって出力されるジオメトリ座標wmctrl -lGと、ユーザーが指定できる座標座標gnome-terminal --geometryが異なることが判明しました。

私が間違っていることはありますか?何かご意見は?

ありがとう

回答:


17

--geometryオプションgnome-terminalは、実際にはピクセルではなく文字で測定されます。たとえば、10列の高さの80桁の端子を取得するには、次のgnome-terminalように起動します。

gnome-terminal --geometry 80x10

端末はフォント文字サイズの増分でサイズ変更され、これを使用してXserverと通信しWM_NORMAL_HINTSます。xpropコマンドを使用してこれらを調べることができます。たとえば、ここではターミナルウィンドウのIDを見つけて、xpropにそれについて尋ねます。

$ wmctrl -lG | tail -n1
0x06400021  0 592  314  580  338  myhostname kees@myhostname: ~
$ xprop -id 0x6400021
...
WM_NORMAL_HINTS(WM_SIZE_HINTS):
        program specified minimum size: 48 by 16
        program specified resize increment: 7 by 14
        program specified base size: 20 by 2
        window gravity: NorthWest
...

上記の場合、フォントサイズは7 x 14ピクセルです。したがって、70 gnome-terminal --geometry 10x10x 140ピクセルのターミナルが必要な場合は、実行できます(ただし、上記の「特定の基本サイズ」にあるように、ウィンドウマネージャーの装飾などに基づくものよりも20 x 2ピクセル大きくなります)。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.