这个项目能做什么

MacWatcher是一个用于macOS的Hammerspoon Spoon,可响应系统事件执行命令。它面向已经运行Hammerspoon并希望在机器状态变化时自动触发shell脚本或二进制文件的用户。 README中描述的受支持触发器: - 从睡眠恢复或解锁(whenResume),可在命令运行前设置可选延迟。 - 进入睡眠或锁定(whenSuspend),可在事件发生前立即运行。 - WiFi网络变化(onWifiChange);SSID会作为参数附加到命令后。 - 浅色/深色外观变化(onThemeChange),包括机器睡眠期间发生的变化;值"light"或"dark"会作为参数附加。 - 同步清理钩子(whenStop),在调用stop()时运行。 配置选项包括冷却时间(钩子执行之间的最小秒数)和命令执行的任务超时。命令以异步方式执行并带有超时,每个钩子都接受一个delay参数。 README涵盖的安装路径:下载发布zip并将MacWatcher.spoon文件夹放入~/.hammerspoon/Spoons/,通过SpoonInstall从发布zip URL安装,或直接将仓库克隆到Spoons目录进行开发。安装后,必须重新加载Hammerspoon。 使用方式通过Lua配置:使用hs.loadSpoon("MacWatcher")加载Spoon,可选设置cooldown和taskTimeout,使用上述链式方法注册钩子,然后调用start()。完整API参考发布在GitHub Pages上。该项目采用MIT许可证。