À propos du projet
MacWatcher est un Spoon Hammerspoon pour macOS qui exécute des commandes en réponse à des événements système. Il s'adresse aux utilisateurs qui utilisent déjà Hammerspoon et souhaitent que des scripts shell ou des binaires se déclenchent automatiquement lorsque la machine change d'état.
Déclencheurs pris en charge, tels que décrits dans le README :
- Reprise après veille ou déverrouillage (whenResume), avec un délai optionnel avant l'exécution de la commande.
- Mise en veille ou verrouillage (whenSuspend), qui peut s'exécuter immédiatement avant l'événement.
- Changements de réseau WiFi (onWifiChange) ; le SSID est ajouté comme argument à la commande.
- Changements d'apparence clair/sombre (onThemeChange), y compris les changements survenus pendant que la machine était en veille ; la valeur "light" ou "dark" est ajoutée comme argument.
- Un hook de démontage synchrone (whenStop) qui s'exécute lorsque stop() est appelé.
Les options de configuration incluent une période de cooldown (secondes minimales entre les exécutions de hook) et un timeout de tâche pour l'exécution des commandes. Les commandes sont exécutées de manière asynchrone avec des timeouts, et chaque hook accepte un paramètre de délai.
Chemins d'installation couverts par le README : télécharger le zip de release et placer le dossier MacWatcher.spoon dans ~/.hammerspoon/Spoons/, installer via SpoonInstall depuis l'URL du zip de release, ou cloner le dépôt directement dans le répertoire Spoons pour le développement. Après l'installation, Hammerspoon doit être rechargé.
L'utilisation se fait via la configuration Lua : charger le Spoon avec hs.loadSpoon("MacWatcher"), définir éventuellement cooldown et taskTimeout, enregistrer les hooks avec les méthodes chaînées indiquées ci-dessus, puis appeler start(). La référence complète de l'API est publiée sur GitHub Pages. Le projet est sous licence MIT.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.