¿Cuál es una forma más segura de escribir este applecript?

2

A veces uso una aplicación de terceros con un terminal incorporado al escribir y / o probar un script. Escribí este breve script de Apple para borrar completamente la pantalla del terminal, independientemente de la aplicación que esté usando. Lo puse como una función en la parte superior de algunos de mis scripts. Nunca tuve un problema hasta el día de hoy, cuando lo ejecuté sin cuidado en un bucle 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'   
}

Obviamente, ejecutar esto infinitamente no es algo bueno. Me vi obligado a apagar manualmente la computadora porque estaba atascado en la aplicación frontal golpeando cmd k sin fin. ¿Hay una mejor manera de escribir esto para que esto no vuelva a suceder?

    
pregunta I0_ol 18.03.2017 - 17:58

1 respuesta

1

Una forma mucho más segura es simplemente accionar el menú directamente.

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'
}
    
respondido por el grg 19.03.2017 - 22:42

Lea otras preguntas en las etiquetas