¿Cómo se hace para programar los "ajustes" para que cambien en las aplicaciones según ciertos criterios? Por ejemplo, estoy usando Adium, y entre las horas de 8am y 5pm, me gustaría que el estado se estableciera como "Disponible", y fuera de estas horas fuera "Invisible" o "Ausente".
Respuesta
¿Demasiados anuncios?La forma más fácil de hacerlo es a través de Applescript. Los comandos que necesitas son de una sola línea. Para hacer que Adium se conecte el código de Applescript es:
tell application "Adium" to go online
Para que sea invisible, el código de Applescript es:
tell application "Adium" to go invisible
Bastante simple. También puedes decirle a Adium que go away
. Abra la aplicación del Editor de Applescript en su directorio /Aplicaciones/Utilidades y cree dos archivos Applescript; uno tiene sólo el comando para ir en línea y el otro el comando para ir invisible/alejado. Guárdalos como archivos .scpt con los nombres adecuados.
Esa fue la parte fácil. La siguiente pregunta es cómo activar el script correcto en el momento adecuado. Esencialmente necesitas crear las siguientes dos tareas programadas:
"ejecutar adium_invisible.scpt a las 5 de la tarde todos los días"
"ejecutar adium_online.scpt a las 8 de la mañana todos los días"
La forma predeterminada de hacerlo, integrada en OS X, es utilizar el demonio 'cron' de UNIX. Su documentación se puede encontrar en aquí . Si la interfaz de cron le resulta intimidante, existe una aplicación de interfaz gráfica que puede utilizar para configurar las tareas, llamada Cronnix .
Sin embargo, tendrás que entender la sintaxis de sincronización que utilizan los archivos crontab. Wikipedia puede ponerte al día en eso. Dentro de tu crontab de usuario quieres crear dos tareas programadas. Deberían tener este aspecto:
0 8 * * * osascript path/to/adium_online.scpt
y
0 17 * * * osascript path/to/adium_invisible.scpt
osascript
es un comando específico de Apple que permite al shell llamar y ejecutar un Applescript. Le das la ruta del archivo .scpt como parámetro. Una vez que tengas las dos tareas cron configuradas, deberías estar listo.
Si edita el archivo crontab a mano, y no utiliza Cronnix, no copie y pegue esto al pie de la letra, ya que se requieren tabulaciones entre las horas, los minutos, los días, etc., y no espacios como tengo aquí.
También, podrías crear tareas cron que usen osascript y pasar el Applescript directamente así:
osascript -e 'tell application "Adium" to go online'
Sin embargo, almacenar los comandos de Applescript en un archivo separado le da flexibilidad en el caso probable de que necesite cambiar los comandos que se ejecutan más adelante. Puede añadir o eliminar de los archivos .scpt sin necesidad de interferir con el archivo crontab.