El plan B, que se integra mucho mejor a lo largo del tiempo, es decirle al Applescript que aceda directamente las opciones de menú. De hecho, es factible configurar un entorno completo para una aplicación en forma de combo invocando varias acciones seguidas que normalmente deberían ser disparadas usando atajos de teclado (preconfigurados o no) o opciones de menú.
Para invocar una opción de menú directamente desde Applescript usaríamos el siguiente código [note]Este es un ejemplo para el minirreproductor de iTunes[/note]
tell application "System Events" tell process "iTunes" click menu item "Minirreproductor" of menu "Ventana" of menu bar 1 end tell end tell
Hay que hacer algunas puntualizaciones a este código para que luego no se disparen errores:
- Si te fijas bien, las referencias a las opciones de menú, es decir, el nombre del menú y la opción de menú están tal como se muestran en el idioma por defecto del sistema.
- Si quieres seguir enganchado acciones dentro de la misma aplicación, solo has de añadirlas, una detrás de otra, debajo de la línea de acción de esa aplicación, por ejemplo este nuevo acceso al menú Ventana:
click menu item "iTunes" of menu "Ventana" of menu bar 1
- Si quieres saltar a otra aplicación, para invocar a continuación una opción de menú, tienes que llamarla después del primer end tell, por ejemplo[note]Posteriores acciones irían colocadas después del cierre de la anterior con su end tell[/note]:
tell application "System Events" tell process "iTunes" click menu item "Minirreproductor" of menu "Ventana" of menu bar 1 end tell tell process "Finder" click menu item "Nueva ventana del Finder" of menu "Archivo" of menu bar 1 end tell end tell
Repeticiones
Imagina que necesitas que esta acción se repita un número determinado de veces porque, por ejemplo, necesitas que se acepten una numero de opciones determinado que usan esa misma opción de menú. Para esto vamos a usar un bucle.
tell application "System Events" tell process "Finder" repeat 3 times click menu item "Nueva ventana del Finder" of menu "Archivo" of menu bar 1 end repeat end tell end tell
Cuyo resultado es 3 nuevas ventanas del Finder.
Usando estos métodos puedes crear combos de acciones para realizar tareas complejas con una estructura relativamente sencilla de Applescript que además funcionará en todos tus Mac puesto que la estructura de menús es invariable entre ellos.
Muy interesante y ¿opciones del botón secundario sobre archivos del Finder? Por ejemplo, seleccionar un archivo y ‘Comprimir archivo xxx’.
Un poco más difícil me parece esto. 😉