KDE의 Windows용 응용프로그램 바로가기

KDE의 Windows용 응용프로그램 바로가기

다음 작업을 수행하기 위해 여러 앱에 대한 바로가기를 원합니다.

  • 아직 실행되고 있지 않은 경우 애플리케이션을 시작합니다.
  • 앱이 백그라운드에 있으면 포그라운드로 가져옵니다.
  • 애플리케이션의 다음 인스턴스가 있는 경우 포그라운드로 가져옵니다.

저는 데비안과 KDE를 사용하고 있습니다. 이를 달성하는 가장 좋은 방법은 무엇입니까?

답변1

여러 단계로 나누어 먼저 이름으로 작업을 찾고 찾을 수 없으면 실행할 수 있습니다.

APPID=`pgrep <taskname>`
if [ $APPID == "" ] ; then
    <app-command-with-options>
    exit 0
fi

이제 응용 프로그램을 실행해야 하면 스크립트가 종료되고, 그렇지 않으면 계속됩니다.창문을 찾고 있어요다음 작업에 속합니다.

known_windows=$(xwininfo -root -children|sed -e 's/^ *//'|grep -E "^0x"|awk '{ print $1 }')

for id in ${known_windows}
do
    xp=$(xprop -id $id _NET_WM_PID)
    if test $? -eq 0; then
        pid=$(xprop -id $id _NET_WM_PID|cut -d'=' -f2|tr -d ' ')

        if test "x${pid}" = x${APPID}
        then
            echo "Windows Id: $id"
        fi
    fi
done

이 시점에서 스크립트는 일치하는 창 목록을 반복했습니다. 루프 뒤에 명령을 추가하여 "$id"로 표시된 창을 활성화하면 목록의 마지막 창으로 전환되어 맨 위로 올라갑니다.

xdotool windowactivate $id

자신에게 맞는 순서로 창을 선택하는 다양한 전략을 알아낼 수 있습니다. 또한 명령 xdotool과 검색 옵션을 보다 영리하게 사용하여 스크립트를 단순화할 수 있습니다.

관련 정보