Ho un AppleScript che apre automaticamente SelfControl.app per aiutare a evitare le distrazioni quando voglio lavorare. Lo script è molto simile a automatizza un filtro dei contenuti Internet e viene lanciato automaticamente da iCal su un set tempo.
Il problema è che quando lo script viene eseguito, la finestra si apre sullo schermo e se sto scrivendo qualcosa, la mia digitazione interferisce con la finestra di dialogo per l'inserimento della password, e lo script fallisce.
Come posso far funzionare lo script in modo indipendente dall'attività dell'utente? In altre parole, come posso eseguire lo script senza mostrare all'utente la prova della GUI che lo script è in esecuzione?
AppleScript
Di seguito è riportato uno snippet di codice. myTime
e myPass
sono definiti in precedenza nello script:
set myTime to …
set myPass to …
tell application "SelfControl" to activate
tell application "System Events"
tell process "SelfControl"
tell slider of window "SelfControl" to set value to myTime
click button "Start" of window "SelfControl"
end tell
tell window 1 of process "SecurityAgent"
with timeout of 15 seconds
repeat
set tryAgain to false
try
set value of text field 2 of scroll area 1 of group 1 to myPass
on error
delay 1
set tryAgain to true
end try
if not tryAgain then exit repeat
end repeat
click button 2 of group 2
end timeout
end tell
end tell