Об этом проекте
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.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.