답변:
설치 xdotool
후 실행
xdotool getwindowfocus getwindowname
예를 들어 Firefox에서 열린 현재 웹 페이지를 제공합니다.
linux - Detecting currently active window - Super User - Mozilla Firefox
wmctrl
다음을 수행하십시오.. wmctrl -i -r `xdotool getwindowfocus` -e 0,10,10,-1,-1
여기서 -i
wmctrl은 창 제목이 아닌 창 ID를 예상하도록 지시합니다.
이것은 더 직접적이고 사용 xprop
하며 cut
:
xprop -id $(xprop -root 32x '\t$0' _NET_ACTIVE_WINDOW | cut -f 2) _NET_WM_NAME
이 명령은 루트 창과 응용 프로그램 창에서 속성을 추출한 것이지만 Lorenzo von Matterhorn의 요청에 따라 다음과 같습니다.
먼저,
xprop -root 32x '\t$0' _NET_ACTIVE_WINDOW
_NET_ACTIVE_WINDOW
루트 에서 특성을 추출하여 활성 창의 XID를 제공합니다. 는 32x '\t$0'
알 수 xprop
있는 방식으로 출력 형식을 cut
나중에 쉽게 분석 할 수 있습니다.
그런 다음 출력에서 XID 만 추출하십시오. cut -f 2
그런 다음 XID를 매개 변수로 전달하여
xprop -id XID _NET_WM_NAME
해당 창의 이름을 인쇄합니다.
$ wmctrl -lp | grep $(xprop -root | grep _NET_ACTIVE_WINDOW | head -1 | \
awk '{print $5}' | sed 's/,//' | sed 's/^0x/0x0/')
0x03800004 0 16459 xxxxxxxxxx /bin/bash
$ for x in $(seq 1 10); do sleep 5; wmctrl -lp | grep $(xprop -root | \
grep _NET_ACTIVE_WINDOW | head -1 | awk '{print $5}' | sed 's/,//' | \
sed 's/^0x/0x0/'); done
0x03800004 0 16459 xxxxxxxxxx /bin/bash
0x020000a4 0 13524 xxxxxxxxxx linux - Detecting currently active window - Super User - Mozilla Firefox (Build 20120129142219)
이것이 나를 위해 일한 것입니다.
xprop -id $(xprop -root _NET_ACTIVE_WINDOW | cut -d ' ' -f 5) WM_NAME
제공합니다 :
WM_NAME(STRING) = "~"
따라서 이름 자체를 얻기 위해 약간의 추한 추함을 할 수도 있습니다.
xprop -id $(xprop -root _NET_ACTIVE_WINDOW | cut -d ' ' -f 5) WM_NAME | sed -e 's/.*"\(.*\)".*/\1/'
제공합니다 :
~
내 현재 중점을 둔 창 이름은 모두 그 자체입니다.
또는 약간 덜 추한 sed를 사용하지 마십시오.
xprop -id $(xprop -root _NET_ACTIVE_WINDOW | cut -d ' ' -f 5) WM_NAME | awk -F '"' '{print $2}'
xprop -id $(xprop -root _NET_ACTIVE_WINDOW | cut -d ' ' -f 5) WM_NAME | cut -d '"' -f 2