답변:
이 명령을 사용하여 현재 활성 창의 모든 정보를 얻을 수 있습니다.
xwininfo -id $(xprop -root | awk '/_NET_ACTIVE_WINDOW\(WINDOW\)/{print $NF}')
또는
xwininfo -id $(xdpyinfo | grep focus | grep -E -o 0x[0-9a-f]+)
필요한 좌표에 대한 출력을 구문 분석하십시오. 다음은 창과 상호 작용할 때 유용한 명령입니다.
예를 들어 활성 창의 제목을 "새 이름"으로 변경하려면 다음을 수행하십시오.
wmctrl -r :ACTIVE: -N "New Name"
또는 활성 창의 위치를 변경하려면
wmctrl -r :ACTIVE: -e 0,20,20,200,400
wmctrl창의 지오메트리와 같이 간단한 것을 변경해야하는지 고려하십시오 . 더 복잡한 다른 작업을 수행하려는 경우에만 위에서 언급 한 다른 스크립트를 사용하십시오.
xwininfo -id $(xprop -root | grep "_NET_ACTIVE_WINDOW(WINDOW)" | grep -Eo "0x[0-9a-f]{2,}")
xwininfo -id $(xdpyinfo | grep focus | grep -E -o 0x[0-9a-f]+)은 터미널의 자식 창 (이름 없음)을 보여줍니다. 난 그냥 할 때 xdpyinfo | grep focus내가 얻을 focus: window 0x435b877, revert to Parent, 그리고 0x435b877는 (나를 위해 작동하지 않습니다) 첫 번째 명령에 의해 반환 된 윈도우의 ID입니다. 이것은 Trusty 14.04.1에 있습니다. LTS
"xdotool"을 사용하면 키보드 또는 마우스 이벤트를 사용하여 창과 쉽게 상호 작용할 수 있습니다.
CtrlC활성 창 으로 시퀀스를 전송하는 예 :
xdotool getwindowfocus key ctrl+c # Sends CTRL+C to the current window.
실제로 창 위치가 필요한 경우 :
eval $(xdotool getmouselocation --shell); echo $X $Y
Error: Invalid key sequence 'ctrl-c'.