답변:
wmctrl 명령이 작업을 수행하는 것 같습니다. 이미 설치되어 있지만 필요한 경우 리포지토리에서 사용할 수 있습니다.
wmctrl -l
현재 열려있는 창 (그놈 패널 포함)을 나열합니다.
wmctrl -a STRING
제목에 STRING이 (가)있는 창에 초점을 둡니다. 둘 이상의 창이 해당 조건을 충족하면 어떻게 될지 잘 모르겠습니다.
필자의 경우 명령은 다음과 같습니다.
wmctrl -a Firefox
shell wmctrl -a something
, 뭔가 디버거 터미널 제목에 뭔가를.
wmctrl
와 함께 사용하면 xdotool
포커스를 Firefox로 전환 한 다음 키보드 또는 마우스 동작을 수행 할 수 있습니다.
이 예에서 :
wmctrl -R firefox && \
xdotool key --clearmodifiers ctrl+t ctrl+l && \
xdotool type --delay=250 google && \
xdotool key --clearmodifiers Tab Return
다음 단계가 실행됩니다.
내 우분투 PC에서 사용하는 아래 스크립트는 어떻습니까? 유스 케이스는 이와 같습니다.
$ ./focus_win.sh 1 # focus on a application window that executed at first
$ ./focus_win.sh 2 # second executed application window
키보드 사용자 정의 바로 가기에 할당 한 후 사용하고 있습니다. ctrl + 1, ctrl + 2, ...
고양이 focus_win.sh
#! /bin/sh
if [ "" = "$1" ] ; then
echo "usage $0 <win index>"
exit 1;
fi
WIN_ID=`wmctrl -l | cut -d ' ' -f1 | head -n $1 | tail -n 1`
if [ "" = "$WIN_ID" ] ; then
echo "fail to get win id of index $1"
exit 1;
fi
wmctrl -i -a $WIN_ID