2014-09-28 13 views
1

저는 FVWM2를 사용하고 있습니다.이를 통해 현재 X11 WindowID를 창 장식 바인딩을 통해 좋아하는 스크립트에 보낼 수 있습니다. Perl : X11 WindowID를 사용하여 창 지오메트리를 얻는 중

그래서 클릭은 다음과 같은 형태로 CLI 프로그램을 실행할 수 있습니다

bash는 #의 example.pl

WINDOWID가 이미 존재하는 창을 말합니다이 경우. example.pl에 의해 생성 된 것이 아닙니다.

예를 들어 example.pl을 사용하는 경우 화면 캡처 유틸리티를 사용하면 캡쳐를 실행하기 위해에 의해 식별되는 창의 X11 기하학 문자열이 필요합니다. xwininfo 출력에서이 데이터를 구문 분석 할 수 있습니다. 하지만 그건 이식성이 아닙니다.

프로그래밍 방식으로 Perl에서 WindowID로부터 X11 지오메트리를 얻으려면 어떻게해야합니까?

답변

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이가 켜져있는 화면입니다, 윈도우의 크기입니다.