내가 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