我正在使用FVWM2,它允许我通过窗口装饰绑定将当前的X11 WindowID发送到我喜欢的任何脚本。
因此,单击可能会以下列形式执行CLI程序:
bash#example.pl
在这种情况下,WindowID指的是已经存在的窗口。不是example.pl生成的。
例如,如果example.pl是一个屏幕捕获实用程序,它将需要标识的窗口的X11几何字符串来运行捕获。我可以从xwininfo输出中解析这些数据。但这不便携。
如何在Perl中以编程方式从WindowID获取X11几何?
答案 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
是它所在的屏幕。