1

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

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

bash#example.pl

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

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

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

4

1 回答 1

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是它所在的屏幕。

于 2014-09-28T17:25:58.750 回答