Usar solo un Applescript para cambiar una funcionalidad en OS X

Muchos usuarios utilizamos propiedades especiales de aplicaciones a través de comandos de Terminal. Con estos comandos, podemos activar o desactivar características específicas que no están disponibles en las preferencias de las aplicaciones y que utilizan constantes positivas o negativas (TRUE o FALSE, por ejemplo). Generalmente usamos un comando para activar ese comportamiento, quizás reiniciar la aplicación, y otro comando diferente para desactivarlo una vez que deja ser necesario y de nuevo reiniciar la aplicación. ¿Qué tal si lo hacemos en un único Applescript?

La idea es convertir el Applescript en un único interruptor con dos posiciones: Encendido y Apagado, de forma que si estamos usando esa propiedad específica de la aplicación, si ejecutamos el Applescript se apague, y si lo volvemos a ejecutar, se vuelva a encender.

Un ejemplo sería el mostrar/ocultar los archivos del Finder. Abriremos el Editor Applescript y usaremos este script (está comentado para ver su funcionamiento). Cópialo y pégalo en el Editor de Scripts:

— Si el comando que vamos a introducir incluye los textos OFF o FALSE
if {"OFF", "FALSE"} contains (do shell script "defaults read com.apple.finder AppleShowAllFiles") then
— Cambia el valor a TRUE (Mostrar archivos invisibles)
    set theValue to "TRUE"
— Cambia el valor a FALSE (Ocultar los archivos invisibles)    
else
    set theValue to "FALSE"
end if

— Construye la sentencia completa usando el valor contrario al que estamos utilizando
do shell script ("defaults write com.apple.finder AppleShowAllFiles " & theValue) as string
— Se reinicia el Finder (en este caso específico para poder aplicar los cambios).
do shell script "killall Finder"

El Applescript lo he visto como parte de un post más amplio de MacWorld, y posiblemente le vais a encontrar muchas posibilidades.

0 0 votos
Article Rating
Subscribe
Notify of
4 Comments
Oldest
Newest Most Voted
Opiniones Inline
Ver todos los comentarios
italiano_
italiano_
10 years ago

Hola Carlos, esto mismo lo comenté en un post anterior acerca de poner la pantalla del portátil se encendiera/apagara con una pantalla externa y es muy interesante, pero para alguien torpe en estos menesteres, como es Terminal y códigos (si, me suena todo a chino) no he sido capaz de lograrlo y me he dado por vencido, no vaya ser que me cargue algo…

Estaría genial que alguien quisiera compartir algunos scripts para hacer la vida más fácil a la gente torpe como yo.

Saludos!

italiano_
italiano_
10 years ago

Gracias Carlos, ahora abriré un post, porque después de una búsqueda, no doy con lo que planteaba.
Saludos

nnarayann
nnarayann
10 years ago

Gracias por la info!.

Por cierto, si os pasa como a mí con el ejemplo y os da error porque no existe la entrada “AppleShowAllFiles” en el plist, ejecutad el siguiente comando en el terminal para añadirla:

defaults write com.apple.finder.plist AppleShowAllFiles FALSE

Si después al ejecutar

defaults read com.apple.finder.plist AppleShowAllFiles

os sale FALSE, ya podéis seguir con el ejemplo que os funcionará. Si queréis volver a dejarlo como estaba y borrar la entrada, basta con escribir delete en vez de read.

Un saludo!.

4
0
Me encantaría saber tu opinión, por favor, deja un comentariox
()
x