Applescript – crea tus propias aplicaciones para mac sin programar

Applescript – crea tus propias aplicaciones para mac sin programar

19 Noviembre, 2017 0 Comentarios1


Applescript – crea tus propias aplicaciones para mac sin programar
4.5 (90%) 4 votes

Hoy os voy a enseñar como crear pequeñas aplicaciones para mac usando Applescript, los que trabajamos con Mac lo hacemos porque nos facilita mucho la vida, pues con este truquillo podréis arañar esos valiosos segundos en tareas repetitivas. También quiero mostrarles como cambiar los iconos de las carpetas en Mac, algo util para a primera vista localizar esa carpeta que estamos buscando.

Que es applescript y para que me sirve

En resumen Applescript es un lenguaje desarrollado por apple para permitir interactuar con las aplicaciones que tenemos en instaladas en nuestro Mac.

Con applescript podemos por ejemplo automatizar tareas en el sistema de ficheros, crear aplicaciones para comprimir y reducir tamaño de imágenes, ejecutar aplicaciones directamente, o lo más util ejecutar ciertas funcionalidades de aplicaciones. En este tutorial voy a enseñar 3 ejemplos de forma que solo tendrá que copiar/pegar el código, sobre todo estos ejemplos son útiles para programadores, pero con algo de pensamiento pueden ser modificados para infinitas posibilidades.

Añadir un fichero de texto en mac en la carpeta actual

Los que venis de windows y habéis dado el paso a Mac OS habéis encontrado con que no hay forma rápida de crear una fichero de texto cuando estamos dentro de una carpeta. Es decir en windows seria botón derecho -> nuevo archivo de texto . Yo personalmente lo utilizo cuando quiero añadir algunas instrucciones o notas en una carpeta.

Applescript - cerar acceso directo nuevo fichero de texto

Con está aplicación vamos a crear icono de acceso directo en el finder, de forma que al hacer click sobre él ,automáticamente se añada un fichero de texto nuevo al directorio en el que nos encontramos. Para ello necesitamos abrir la app Automator (viene instalada en todos los Macs – tiene un icono de un robot). Hacemos click en nuevo documento y seleccionamos el tipo “Aplicación”

Crear-nueva-aplicacion-automator

 

Una vez abierta, vamos al buscador y escribimos “script”, nos aparecerán varias opciones, seleccionados “EJECUTAR APPLESCRIPT” .

ejecutar-applescript-automator

 

Como veis ahi debemos pegar el siguiente código:

activate application "SystemUIServer" -- http://www.openradar.me/9406282
tell application "Finder"
activate
set p to POSIX path of (insertion location as text)
end tell
tell application "Terminal"
activate
do script
repeat while contents of window 1 starts with linefeed
delay 0.01 -- wait to get a prompt
end repeat
do script "cd " & quoted form of p in window 1
do script "touch info.txt" in window 1

end tell
tell application "Terminal"
activate
tell window 1
set selected tab to tab 1
my closeTabOne()
end tell
end tell

Una vez tenemos la app creada, vamos a Archivo->Exportar y guardamos la app en la carpeta aplicaciones, ahora nos aparecerá con el icono de Automator, al final de este articulo os mostraré como cambiar este icono. Lo útil de esta app es añadir un acceso directo en el finder, para ello seleccionamos la app y la arrastramos mientras pulsamos la tecla CMD, hacia la barra del finder, para obtenerlo de está forma:

Applescript - cerar acceso directo nuevo fichero de texto

 

Añadir proyecto a ATOM desde el finder

Ahora os voy a enseñar más resumido como abrir la carpeta en la que nos encontramos en nuestro editor de código favorito ATOM, los pasos para crear la app son exactamente iguales a los anteriores, solo necesitamos insertar este código en lugar del anterior:

(* 
 * Finder Open Atom Here - v1.0 - 6/12/2014
 * http://shauvik.com/
 * 
 * Copyright (c) 2014 Shauvik Roy Choudhary
 * Dual licensed under the MIT and GPL licenses.
 * Based on Open iTerm Here script by Ben Alman
 *)

tell application "Finder"
	set mySelected to get selection as list
	if (count of mySelected) is not 0 then
		set myItem to first item of mySelected
		if class of myItem is alias file then
			set myItem to original item of myItem
		end if
		if class of myItem is in {file, document file, internet location file} then
			set myItem to container of myItem
		end if
	else if the (count of window) is not 0 then
		set myItem to folder of the front window
	else
		set myItem to path to desktop folder
	end if
	my open_Atom(myItem)
end tell

on open_Atom(myItem)
	set myPath to POSIX path of (myItem as string)
	tell application "Atom.application"
		open myPath
	end tell
end open_Atom

Compilar app Appcelerator con Ti.shadow desde el finder

Este código ya es algo más avanzado, con él buscamos poder compilar una app desarrollada con Appcelerator Titanium directamente desde el finder. Como los códigos de compilación difieren entre iPhone y Android, he creado una app para cada uno. Con esto cada vez que deseamos compilar un proyecto nos ahorramos tener que abrir el terminal y escribir las instrucciones de compilación. Este ejemplo es válido para cualquier tipo de instrucción que deseemos ejecutar, muy versátil.

Para iPhone:

activate application "SystemUIServer" -- http://www.openradar.me/9406282
tell application "Finder"
	activate
	set p to POSIX path of (insertion location as text)
end tell
tell application "Terminal"
	activate
	do script
	repeat while contents of window 1 starts with linefeed
		delay 0.01 -- wait to get a prompt
	end repeat
	do script "cd " & quoted form of p in window 1
	do script "appc ti build -p iphone -T device --shadow" in window 1
end tell

Para Android:

activate application "SystemUIServer" -- http://www.openradar.me/9406282
tell application "Finder"
	activate
	set p to POSIX path of (insertion location as text)
end tell
tell application "Terminal"
	activate
	do script
	repeat while contents of window 1 starts with linefeed
		delay 0.01 -- wait to get a prompt
	end repeat
	do script "cd " & quoted form of p in window 1
	do script "appc ti build -p android -T device --shadow" in window 1
end tell

En este caso, el código lo que hace es ejecutar este comando de a continuación en el directorio desde el que hagamos click a la app.

appc ti build -p iphone -T device --shadow

Como se cambia el icono de una carpeta en Mac

Ya hemos creado varias aplicaciones, pero claro necesitamos estilizarlas para poder distinguir unas de otras, esto es muy sencillo, personalmente tengo todos los iconos de las carpetas personalizados en mi Mac, esto me permite de un simple vistazo localizar lo que busco, y porque no? Alegra la vista ver un escritorio asi:

Cambiar-iconos-carpeta-mac

El cambio es muy sencillo, para ello lo ideal es utilizar una imagen cuadrada, lo único que necesitamos es abrir la imagen que deseamos como icono en vista previa, y copiarla en “Edición->Copiar”. Una vez la tenemos copiada en el portapapeles, debemos seleccionar con el botón derecho la carpeta a modificar y hacer click en “Obtener información” . Lo siguiente es hacer click en el icono y después presionar las teclas CMD + V para pegar la imagen.

 

Actualizar-icono-carpeta-mac

 

Con el fin de poder estandarizar y que queden todas las carpetas personalizadas con el miso estilo he creado está plantilla para photoshop, la podéis descargar aquí .

Soy Ing. de Telecomunicaciones, diseñador/programador desde hace 8 años, los últimos 3 centrado en el desarrollo de Apps .

Además de muchomasquewebs.com mantengo bepremium.es. En lo personal un apasionado del Windsurf y surf , en general todo lo que tenga que ver con el mar, como afición friky que todo ingeniero debe tener, me encanta el aeromodelismo.

Si queréis contactar conmigo directamente podéis hacerlo a jose.revenga@muchomasquewebs.com




Soy Ing. de Telecomunicaciones, diseñador/programador desde hace 8 años, los últimos 3 centrado en el desarrollo de Apps .Además de muchomasquewebs.com mantengo bepremium.es. En lo personal un apasionado del Windsurf y surf , en general todo lo que tenga que ver con el mar, como afición friky que todo ingeniero debe tener, me encanta el aeromodelismo.Si queréis contactar conmigo directamente podéis hacerlo a jose.revenga@muchomasquewebs.com