Perl:使用X11 WindowID获取窗口的几何图形

时间:2014-09-28 13:59:06

标签: perl x11 perltk wxperl

我正在使用FVWM2,它允许我通过窗口装饰绑定将当前的X11 WindowID发送到我喜欢的任何脚本。

因此,单击可能会以下列形式执行CLI程序:

bash#example.pl

在这种情况下,WindowID指的是已经存在的窗口。不是example.pl生成的。

例如,如果exam​​ple.pl是一个屏幕捕获实用程序,它将需要标识的窗口的X11几何字符串来运行捕获。我可以从xwininfo输出中解析这些数据。但这不便携。

如何在Perl中以编程方式从WindowID获取X11几何?

1 个答案:

答案 0 :(得分:2)

您可以使用X11::GuiTest获取有关X11窗口的各种信息。

在您的情况下,相应的命令将是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是它所在的屏幕。