Sobre el proyecto
MacWatcher es un Spoon de Hammerspoon para macOS que ejecuta comandos en respuesta a eventos del sistema. Está dirigido a usuarios que ya ejecutan Hammerspoon y quieren que scripts de shell o binarios se disparen automáticamente cuando la máquina cambia de estado.
Disparadores compatibles, según lo descrito en el README:
- Reanudación desde suspensión o desbloqueo (whenResume), con un retraso opcional antes de que se ejecute el comando.
- Entrada en suspensión o bloqueo (whenSuspend), que puede ejecutarse inmediatamente antes del evento.
- Cambios de red WiFi (onWifiChange); el SSID se añade como argumento al comando.
- Cambios de apariencia clara/oscura (onThemeChange), incluidos los cambios que ocurrieron mientras la máquina estaba suspendida; el valor "light" o "dark" se añade como argumento.
- Un hook de desmontaje síncrono (whenStop) que se ejecuta cuando se llama a stop().
Las opciones de configuración incluyen un período de enfriamiento (segundos mínimos entre ejecuciones de hooks) y un tiempo de espera de tarea para la ejecución de comandos. Los comandos se ejecutan de forma asíncrona con tiempos de espera, y cada hook acepta un parámetro de retraso.
Rutas de instalación cubiertas por el README: descargar el zip de la release y colocar la carpeta MacWatcher.spoon en ~/.hammerspoon/Spoons/, instalar mediante SpoonInstall desde la URL del zip de la release, o clonar el repositorio directamente en el directorio Spoons para desarrollo. Después de la instalación, se debe recargar Hammerspoon.
El uso es a través de la configuración de Lua: cargar el Spoon con hs.loadSpoon("MacWatcher"), opcionalmente establecer cooldown y taskTimeout, registrar hooks con los métodos encadenados mostrados anteriormente, y luego llamar a start(). La referencia completa de la API se publica en GitHub Pages. El proyecto tiene licencia MIT.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.