+34 966 87 37 50 info@digiworks.es


Applescript es un lenguaje de programación desarrollado por Apple para su uso en el Mac OS, con el uso de Applescript puedes automatizar muchas tareas, procesos, crear utilidades y aplicaciones. (Wikipedia Applescript)

Applescript viene pre-instalado en todos los Macs desde el sistema 9.

Ahora… Manos a la obra

Vamos a hacer un mini script/snippet con Applescript, cuando lo veas será mucho mas fácil de entender lo básico de este lenguaje. Claro este lenguaje  es como con cualquier otro, cuando más lenguajes dominas, mas fácil es de aprender lenguajes nuevos.

Applescript Editor

Para empezar a escribir un script hay que usar la aplicación “Applescript Editor”. En esta aplicaciÓn se escribe y se prueba los scripts. Puedes encontrar el Applescript Editor en /Applications/Utilities/AppleScript Editor.

Una vez tienes abierto el Applescript Editor miramos un momento a los botones que hay arriba de todo.

  • Record – Te permite “grabar” tus acciones y traducirlas en lenguaje Applescript. Esta opción es interesante para aprender el context y comandos. Nota, no todas las aplicaciones son “grabables”, prueba primero solo grabar acciones en el Finder, crear carpetas, cambiar etiquetas y mover ventanas. Cuando termines de grabar vuelves al Applescript Editor y verás que tu ventana esta llena de líneas de Applescript.
  • Stop – Este botón anula la ejecución de un Applescript.
  • Run – Ejecuta un Applescript.
  • Compile – Usando el compile boton te permite verificar el syntax de tu applescript y convertirlo en un applet.

El comando “Tell”

Cada comando en Applescript debería de empezar con algún tipo de tell, con el comando tell te identificas la aplicación que tiene que ser usada para ejecutar la siguiente línea de código. Por ejemplo, si quieres usar el Finder para ejecutar un comando, hay que empezar con la línea de codigo:

tell application “Finder”

Algunos comandos no necesitan el tell, pero ya hablaremos de estos casos más adelante.

El siguiente comando

Ahora la idea es de dar un comando al Finder. El objetivo de este script es cerrar todas las ventanas y después abrir la carpeta Home. El primer comando es de dar el comanda al Finder para cerrar todas las ventanas. Este syntax es fácil, sería:

tell application “Finder” to close every window

Así de fácil, esta es una de los mejores características: la similaridad al inglés escrito.

Seguimos

Ya que hemos cerrado todas las ventanas del Finder, ahora vamos a abrir la carpeta Home. Simplemente empieza en una línea nueva, no hace falta terminar un comando con semi colons, paréntesis, etc. Con Applescript se usa espacio blanco.

En la linea nueva tenemos que escribir el comando para abrir la carpeta Home, en esta forma:

tell application “Finder” to open home

Mezclando los comandos

Ahora con lo que hemos escrito parece algo asi:

tell application “Finder” to close every window

tell application “Finder” to open home

Esto va a funcionar perfectamente así, pero podríamos ser algo mas eficaz porque ambos comandos se usa dentro del Finder y no hace falta usar el tell para cada comando. Podemos usar un block, sería así:

tell application “finder”

close every window

open home

end tell

Siempre esta bien escribir los scripts lo más eficaz posible, por buena práctica y por lógica.

Guardar el script

Para guardar el script como una aplicación (o applet) tienes que seleccionar la opción de File – Save As. Y seleccionar “Application” en el menú dropdown. Cuando haces un doble click sobre tu nueva aplicación, se ejecuta como si fuera una aplicación real 🙂 (lo es!) Hay más opciones para guardar tus scripts pero ya hablaremos de esto más adelante.

Otros comandos

El script que acabamos de hacer es muy básico y las posibilidades con Applescript son muy extensas. Para aprender más sobre Applescript tienes que ponerte manos a la obra y empezar a escribir scripts para coger práctica.

Algunos comandos (sin el comando tell):

Mostar un diálogo: display dialog “Esto es un diálogo”

Cambiar el volumen ( Valores desde 0 a 10): set volume 7

Usar el Speech: say “me apetece un bocadillo de jamón”

 

¡Suerte con las prácticas!