Sobre o projeto
MacWatcher é um Spoon do Hammerspoon para macOS que executa comandos em resposta a eventos do sistema. Destina-se a utilizadores que já executam o Hammerspoon e querem que scripts shell ou binários sejam acionados automaticamente quando a máquina muda de estado.
Acionadores suportados, conforme descrito no README:
- Retomar do sono ou desbloquear (whenResume), com um atraso opcional antes de o comando ser executado.
- Entrar em sono ou bloquear (whenSuspend), que pode ser executado imediatamente antes do evento.
- Mudanças de rede WiFi (onWifiChange); o SSID é acrescentado como argumento ao comando.
- Alterações de aparência clara/escura (onThemeChange), incluindo alterações que ocorreram enquanto a máquina estava a dormir; o valor "light" ou "dark" é acrescentado como argumento.
- Um hook de desmontagem síncrono (whenStop) que é executado quando stop() é chamado.
As opções de configuração incluem um período de cooldown (segundos mínimos entre execuções do hook) e um timeout de tarefa para a execução do comando. Os comandos são executados de forma assíncrona com timeouts, e cada hook aceita um parâmetro de atraso.
Caminhos de instalação abordados pelo README: descarregar o zip da release e colocar a pasta MacWatcher.spoon em ~/.hammerspoon/Spoons/, instalar através do SpoonInstall a partir do URL do zip da release, ou clonar o repositório diretamente para o diretório Spoons para desenvolvimento. Após a instalação, o Hammerspoon tem de ser recarregado.
A utilização é feita através de configuração Lua: carregar o Spoon com hs.loadSpoon("MacWatcher"), opcionalmente definir cooldown e taskTimeout, registar hooks com os métodos encadeados mostrados acima e, em seguida, chamar start(). A referência completa da API é publicada no GitHub Pages. O projeto tem licença MIT.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.