쉘 스크립트에서 창 최소화 및 상승

쉘 스크립트에서 창 최소화 및 상승

GUI를 사용하여 Linux 시스템에서 인터넷 속도를 확인하는 스크립트를 실행하려고 합니다. 터미널 창을 닫고 쿼리가 완료되면 창이 응답을 제공합니다. 지금은 창문을 낮출 수는 있지만 올릴 수는 없습니다.

    #!/bin/bash
    xdotool getactivewindow windowminimize
    #xdotool set_window --name speedy
    #xdotool set_window --icon-name speedy
    speedtest-cli --simple

    if [ $? -eq 0 ]
    then
    #xdotool windowactivate speedy
    xdotool windowfocus  #speedy
    xdotool key "F11"
    fi

    exec $SHELL

답변1

xdotool모든 작업에 대한 창 ID를 알아야 합니다. 이를 올바르게 사용하여 getactivewindow명령의 window 를 가져오지만 windowminimize이름을 설정하려면 이 작업도 수행해야 합니다. 그래서

xdotool getactivewindow set_window --name speedy

라인을 최소화하기 전에.

search그런 다음 이를 사용하여 나중에 활성화할 때 찾을 수 있습니다 .

xdotool search --name speedy windowactivate

맨페이지 섹션을 참조하세요.창 스택그리고명령 체계모든 것이 어떻게 작동하는지 설명합니다.

전체 스크립트:

#!/bin/bash
# rename the window for finding it again later
xdotool getactivewindow set_window --name speedy
xdotool search --name speedy windowminimize

speedtest-cli --simple

if [ $? -eq 0 ]
then
  xdotool search --name speedy windowactivate
  xdotool key "F11"
fi

답변2

xdotool을 사용하여 이 작업을 수행하는 방법을 모르지만 다음은 wmctrl을 사용하여 단 하나의 명령으로 창을 올리고 전체 화면 모드로 전환하는 방법입니다.

#!/bin/sh
TITLE_OF_WINDOW_TO_BE_RAISED="Tor-Browser"
wmctrl -a $TITLE_OF_WINDOW_TO_BE_RAISED -b add,fullscreen

또한 창이 포함된 데스크탑으로 전환하여 초점을 맞춥니다. -a창을 올리고 -b add,fullscreen전체 화면 속성을 "추가"하십시오.

답변3

xdotool창 이름을 바꾸지 않으려면 이후의 모든 작업에서 반환될 수 있는 bash 변수에 해당 식별자를 저장하세요.

#!/bin/bash
WID=$(xdotool getactivewindow)
xdotool windowminimize $WID

speedtest-cli --simple

if [ $? -eq 0 ]
then
  xdotool windowactivate $WID
  xdotool key "F11" $WID
fi

관련 정보