Hammerspoon
是一个 macOS 上的自动化工具,简单来说它允许你通过lua
脚本控制系统亮度、声音、鼠标、键盘、窗口、wifi 等...
怎么安装
可以直接在 GitHub Release 下载,解压后将程序拖入到 /Applications
文件夹中即可,打开后你需要授权系统辅助功能权限
怎么使用
Hammerspoon
会生成一个 ~/.hammerspoon/init.lua
文件,这便是编写脚本的地方,lua
是一个很简单的脚本语言,你可以在此处学习一下简单语法,而后可以跟着官方教程快速入门
一个 Hello World 示例
该脚本意思是按下 ⌘ + ⌥ + ⌃ + W 时在屏幕上显示一句 Hello World!
Hammerspoon
对外暴露了大量 api,就像瑞士军刀一样,你可以在此处找到所有的 api 索引,至于能用它们实现什么就得看开发者了
Spoon
Hammerspoon
中有个 Spoon
概念,在此处学习更多,
它是为了便于用户间共享脚本而存在的,作者可以将自己的脚本封装成别人可调用的方式(类似插件),而后其他人便可将该 Spoon 集成进自己的脚本中,
你可以从此处访问到官方维护的所有 Spoons
为什么不是 Alfred 或 Raycast
Alfred 和 Raycast 也是 macOS 上大名鼎鼎的软件,咋还需要一个 Hammerspoon
呢?
Alfred
不能根据某个 App 活动触发某些任务,它更多使用场景是用热键触发某些任务Raycast
我感觉不好用,尽管它颜值高,但是它执行任务需要多一步这是最蛋疼的,况且我也不知道它是否可以执行自动化任务
它提升了我哪些效率
自动根据 App 切换输入法
- 把npm
打成你配吗
可能每个前端人员都经历过吧输入法指示器
- 如果你像我一样偏爱全屏使用 App 并且还只使用系统输入法,那么你一定为不知道此时的输入法是中文还是英文而血压飙升过连上公司 wifi 后自动静音
- 你也不想前一晚看完片后忘关声音结果第二天到公司社死吧忽略粘贴限制
- 我只是想粘贴一下密码但是网站不让?它可以模拟系统输入事件绕过限制
目前我只用它实现了这些个功能,最为常见的窗口管理功能我却没用到,因为我平时都是全屏使用 App,每个程序单独占用一个虚拟桌面空间,所以说根本用不到
你可以在这里访问到我的所有脚本 👉 https://github.com/xiaojundebug/hammerspoon-config
结语
自从用了 Hammerspoon
后我已经将原本的 Input Source Pro
、ShowyEdge
给卸载了