답변:
음, sudo apt-get install wmctrl
-ing 후에 는이 bash 스크립트를 사용할 수 있습니다.
#! /bin/bash
WINTITLE="Mail/News" # Main Thunderbird window has this in titlebar
PROGNAME="mozilla-thunderbird" # This is the name of the binary for t-bird
# Use wmctrl to list all windows, count how many contain WINTITLE,
# and test if that count is non-zero:
if [ `wmctrl -l | grep -c "$WINTITLE"` != 0 ]
then
wmctrl -a "$WINTITLE" # If it exists, bring t-bird window to front
else
$PROGNAME & # Otherwise, just launch t-bird
fi
exit 0
내가 여기서 찾은
if ! wmctrl -l | grep -q "$WINTITLE"
wmctrl
-i
16 진 식별자로 창 작업을 지원 하는 옵션이 있습니다. 그리고 당신은 이것을 할 수 있습니다 wmctrl -lp|grep 'whatever incomplete name'|cut -d' ' -f1|xargs wmctrl -ai
– 비슷한 일을 할 것입니다
를 사용할 때 하나의 명령을 사용하여 주어진 응용 프로그램이나 클래스의 모든 창 xdotool
을 가져 오는 것이 어려워 보입니다 . 쉘 수준에서 루프로 감싸서 더 나은 결과를 얻습니다 . 배쉬 사용 :for
for WINDOW in $(xdotool search --desktop 0 Firefox); do
xdotool windowactivate ${WINDOW}
done
몇 가지 언급 :
xdotool search
패턴 (여기서는 Firefox
)을 검색합니다 . 당신이 당신의 검색 공간을 제한 할 경우, 관련 사용 --class
, --name
또는 --classname
옵션.--desktop 0
옵션은 검색을 첫 번째 데스크톱으로 제한합니다. 이것은 XGetWindowProperty[_NET_WM_DESKTOP] failed (code=1)
일부 의견 에서 언급 을 피하기위한 해결 방법 인 것 같습니다 .xdotool
프로젝트는 2015 년부터 중단되었습니다. 여전히 내 선택 도구로 남아 있습니다. 개인적인 이유로, Jordan Sissel (원래 저자)은 과거처럼 활동적이지 않으므로 주저하지 말고 프로젝트에 참여하십시오.
xdotool windowraise
창을 앞으로 가져 오지만 창에 초점을 맞추거나 창으로 바탕 화면으로 전환하지 않습니다. 대신windowactivate
세 가지를 모두 수행합니다.