Gestor de perfiles para el Dock usando Applescript [Nivel:Master]

Recientemente me he visto en la obligación de gestionar el Dock de varios Mac par añadirles diferentes elementos “por defecto” sin modificar la configuración ya creada por el usuario. Esta tarea, de forma manual, lleva bastante tiempo y es absolutamente aburrida. Abrir una carpeta, arrastrar un icono, etc … mejor automatizar este proceso. Hay un par de comandos de terminal que envían al Dock el correspondiente código para que añada el icono de un elemento al Dock, pero rizando el rizo … ¿por qué no crear un gestor de perfiles para el Dock?. Seguramente hay aplicaciones para hacer esta tarea, pero es mucho más divertido hacerla uno mismo y aprender por el camino algo de AppleScript.

Empezando por crear el Menú
En el código de este Applescript tienes las diferentes opciones para crear un menú que te permita elegir una opción para luego realizar diferentes tareas. El código está comentado para que te resulte mas sencillo saber que hace el Applescript y cómo.

–llamamos a la aplicación para crear el menú

tell application “System Events”

activate

–Definimos las opciones del menú, con esta sintaxis puedes hacer el menú tan largo como quieras añadiendo mas opciones

set theList to {“Elemento1”, “Elemento2”, “Elemento3”, “Elemento4”, “elemento5”}

–Permite elegir el elemento y define un elemento seleccionado por defecto

choose from list theList with prompt “Elige una opción” default items {“Elemento1”}

set listchoice to result as text

end tell

–define la acción por elemento elegido

if listchoice is “Elemento1” then

–aquí iría tu acción de Applescript, por ejemplo, abrir una ventana o realizar otras opciones

–Así se definen las subsiguientes acciones

else if listchoice is “Elemento2” then

–Aquí añades la acción a realizar para el segundo elemento. La estructura para los subsiguientes elementos es la misma cambiando el nombre de la variable

–ahora cerraremos el menú, estas dos líneas han de ir siempre al final del selector de opciones

end if

end

Añadiendo elementos al Dock

Añadir elementos al Dock es relativamente fácil usando los comandos de terminal defaults write com.apple.dock persistent-apps (para aplicaciones) y defaults write com.apple.dock persistent-others (para otros elementos). Un ejemplo de cómo añadir Safari, por ejemplo, al Dock sería:

defaults write com.apple.dock persistent-apps -array-add '<dict><key>tile-data</key><dict><key>file-data</key><dict><key>_CFURLString</key>
<string>/Applications/Safari.app</string><key>_CFURLStringType</key><integer>0</integer></dict></dict></dict>'

Hay aplicaciones que no requieren el añadir .app al final de la ruta

para luego reiniciar el Dock usando Killall Dock

Añadir otro elemento que no sea una aplicación, por ejemplo, una carpeta (o un documento, al que haríamos referencia en la ruta e incluiríamos su extensión) usaríamos:

defaults write com.apple.dock persistent-others -array-add '<dict><key>tile-data</key><dict><key>file-data</key><dict><key>_CFURLString</key><string>/Users/Dalek/Pictures</string><key>_CFURLStringType</key><integer>0</integer></dict></dict></dict>'

¿Vamos pillando la idea?

Ahora la introducción de los comandos de terminal en AppleScript sería con do shell script "aquí iría el comando"

Así que la estructura de nuestro Applescript incluiría el menú, y en cada una de las opciones del menú uno o varios do shell script con el comando para añadir las aplicaciones, documentos o carpetas para terminar con un reinicio del Dock do shell script “killall Dock“.

Y si quieres eliminar elementos del Dock, entonces cambia write por delete usando defaults delete com.apple.dock persistent-apps y defaults delete com.apple.dock persistent-others

El funcionamiento final nos mostraría una lista de opciones para parametrizar el Dock de forma automática: seleccionaríamos un perfil y se ejecutarían todos los comandos para reiniciar el Dock y mostrar todos los elementos y así disponer de un Dock parametrizado con las necesidades del usuario.

0 0 votos
Article Rating
Subscribe
Notify of
2 Comments
Oldest
Newest Most Voted
Opiniones Inline
Ver todos los comentarios
Alquimista
Alquimista
11 years ago

¿Hay información en algún sitio de cuáles son esos ficheros y qué controlan? Todos esos archivos tipo “com.apple.dock persistent-apps”, que son miles cuando entras en la carpeta correspondiente. Algunos de ellos ya he llegado a controlarlos de forma intuitiva, incluso he conseguido reparar el correspondiente del Mail (una cuenta se había quedado tonta y no bajaba mensajes), o guardar el que memoriza los colores personalizados que voy guardando, pero repito, es que son miles y con nombres a veces muy crípticos.

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