창이 닫힐 때 이벤트 받기

창이 닫힐 때 이벤트 받기

내가 xdotool원하는 하나의 작업에 .웹사이트를 파일로 자동 저장. Firefox에서 인쇄할 때 다음과 같은 진행률 표시줄이 나타납니다.

여기에 이미지 설명을 입력하세요.

인쇄 창이 닫힐 때 새 작업을 시작하고 싶습니다(파일을 저장한 후 자동으로 닫힙니다). 현재 해결 방법은 sleep 10다음 작업이 일찍 시작되는 것을 방지하기 위해 이와 같은 것을 사용하는 것입니다. 인쇄 창이 닫혔다는 이벤트를 어떻게 얻나요?

(저는 리눅스 민트 사용자입니다.)

배쉬 스크립트

# Get window id (Firefox)
FIREFOX_ID=$(xdotool search --name "Mozilla Firefox" | head -n1)
# Activate window (Firefox)
xdotool windowactivate "$FIREFOX_ID"
# Open print dialog
xdotool key "ctrl+p"
# Get window id (print dialog)
DIALOG_ID=$(xdotool search --name "Print") # Change name to your language
# Activate window (print dialog)
xdotool windowactivate "$DIALOG_ID"
# Click "Print" button
xdotool mousemove 1240 790 click 1 # Change coordinates to yours

답변1

"인쇄" 창을 확인하시면 될 것 같습니다. 위의 코드를 사용하여 인쇄를 클릭하는 순간에 집중해 보겠습니다.

# Click "Print" button
xdotool mousemove 1240 790 click 1 # Change coordinates to yours

그러면 "Drucken" 진행 상자가 나타납니다. 계속하기 전에 존재하는지 확인해 보겠습니다.

#sleep 1 second to allow printing to start - a pure safety measure
sleep 1
#check for printing progress window until failed
while (xdotool search --name "Printing") ; do
  sleep 0.1
done
<next command>

즉, 인쇄 대화 상자가 있는 한 do while루프가 실행되고 다음 명령을 차단합니다.


wait명령 정보 :

xdotool이는 쉘 스크립트 외부의 프로세스를 활성화 하므로 여기에는 적용되지 않습니다 . 그래도 기다리고 있는 프로세스가 완료되었는지 확인하기 위한 것입니다.

 #!/bin/bash
 do_some_command & wait

관련 정보