1

私は FVWM2 を使用しています。これにより、現在の X11 WindowID を、ウィンドウ装飾バインディングを介して任意のスクリプトに送信できます。

したがって、クリックすると、次の形式で CLI プログラムが実行される場合があります。

bash# example.pl

この場合、WindowID は既存のウィンドウを参照します。example.pl によって生成されたものではありません。

たとえば、example.pl がスクリーン キャプチャ ユーティリティである場合、キャプチャを実行するには、 で識別されるウィンドウの X11 ジオメトリ文字列が必要です。xwininfo 出力からこのデータを解析できます。しかし、それは移植性がありません。

Perlでプログラム的にWindowIDからX11ジオメトリを取得するにはどうすればよいですか?

4

1 に答える 1

2

X11::GuiTestX11 ウィンドウに関するさまざまな情報を取得するために使用できます。

あなたの場合、適切なコマンドは次のようになりますGetWindowPos(windowID)

use strict; use warnings;
use X11::GuiTest qw/GetWindowPos GetRootWindow/;

...

my ($x, $y, $width, $height, $borderWidth, $screen) = GetWindowPos(GetRootWindow());

$width$heightはウィンドウの寸法、 はウィンドウ$borderWidthの境界線、 はウィンドウ$screenが表示されている画面です。

于 2014-09-28T17:25:58.750 に答える