Qual è un modo più sicuro per scrivere questo applescript

2

A volte uso un'applicazione di terze parti con un terminale integrato durante la scrittura e / o il test di uno script. Ho scritto questo breve script per cancellare completamente lo schermo del terminale indipendentemente dall'applicazione che sto usando. L'ho impostato come una funzione nella parte superiore di alcuni dei miei script. Non ho mai avuto un problema fino all'inizio di oggi, quando l'ho eseguito incautamente in un ciclo while true .

clear(){
    osascript -e \
    'set theApp to (get the path to the frontmost application) as text
    set this_app to the name of application theApp
    activate application this_app
    tell application "System Events" to keystroke "k" using command down'   
}

Ovviamente gestirlo all'infinito non è una buona cosa. Sono stato costretto a spegnere manualmente il computer perché è stato bloccato nell'applicazione in primo piano colpendo cmd k all'infinito. C'è un modo migliore per scrivere questo, quindi questo non accadrà di nuovo?

    
posta I0_ol 18.03.2017 - 17:58
fonte

1 risposta

1

Un modo molto più sicuro è solo per agire direttamente sul menu.

clear() { osascript \
  -e 'tell application "System Events" to tell process "Terminal"' \
  -e   'click menu item "Clear to Start" of menu 1 of menu bar item "Edit" of menu bar 1' \
  -e 'end tell' \
  -e 'return'
}
    
risposta data 19.03.2017 - 22:42
fonte

Leggi altre domande sui tag