Об этом проекте

MacWatcher — это Hammerspoon Spoon для macOS, выполняющий команды в ответ на системные события. Он предназначен для пользователей, которые уже используют Hammerspoon и хотят, чтобы shell-скрипты или бинарники запускались автоматически при изменении состояния машины. Поддерживаемые триггеры, как описано в README: - Возврат из сна или разблокировка (whenResume), с необязательной задержкой перед запуском команды. - Уход в сон или блокировка (whenSuspend), может выполняться до события. - Изменения сети WiFi (onWifiChange); SSID добавляется как аргумент к команде. - Изменения светлой/тёмной темы (onThemeChange), включая изменения, произошедшие пока машина спала; значение "light" или "dark" добавляется как аргумент. - Хук завершения (whenStop), выполняемый при вызове stop(). Параметры конфигурации включают период cooldown (минимальное количество секунд между выполнениями хуков) и таймаут задачи для выполнения команды. Команды выполняются асинхронно с таймаутами, и каждый хук принимает параметр задержки. Установка, описанная в README: скачать zip-архив релиза и поместить папку MacWatcher.spoon в ~/.hammerspoon/Spoons/, установить через SpoonInstall по URL zip-архива релиза или клонировать репозиторий напрямую в каталог Spoons для разработки. После установки необходимо перезагрузить Hammerspoon. Использование — конфигурация на Lua: загрузить Spoon через hs.loadSpoon("MacWatcher"), при необходимости задать cooldown и taskTimeout, зарегистрировать хуки с помощью показанных выше цепочечных методов, затем вызвать start(). Полный API опубликован на GitHub Pages. Проект распространяется под лицензией MIT.