推荐一个 MacOS 上用了就无法自拔的 App

Hammerspoon

Hammerspoon 是 MacOS 上的自动化工具,许多介绍 Hammerspoon 的文章都主要介绍了它是一个窗口管理工具,但是 Hammerspoon 能做到的远远不仅如此。

Hammerspoon 开源、免费和支持插件,将大多数系统层面的接口封装成了 Lua API,这就让这把小锤子在 MacOS 上近乎无所不能,可玩性极高

我都用 Hammerspoon 做了些什么?

  • 菜单栏显示最近几天天气情况
    • 参考示例
    • 请求免费的天气 API,在深圳这个多雨的城市里提醒我别忘记带伞。
  • 剪切板历史记录
    • 参考示例
    • 记录剪贴板历史,点击某一项再重新复制。
  • 音量调节快捷键
    • 参考示例

    • 当我使用外接键盘时,自定义快捷键 cmd + up/down 调节系统音量

  • 窗口管理
    • 参考示例
    • 快捷键实现二分屏、三分屏和全屏
  • Wi-Fi 自动脚本
    • 参考示例
    • 根据 Wi-Fi SSID 判断是否在公司还是在家,例如在家里自动挂载 NAS 服务器,如果在公司 sshfs 挂载服务器目录等。
  • 蓝牙耳机自动连接
  • 输入法自动切换
    • 参考示例
    • 在每个 App 界面自动切换成搜狗输入法,配合搜狗输入法自动中英文切换,再也不用在系统默认的英文输入法和搜狗输入法之间来回切换了。
  • 定时自动提交代码
    • 参考示例
    • 使用 hs.timer 定时器,定时自动推送我的笔记和下载的电子书到 Github 仓库。
  • USB 设备连接记录
    • 参考示例
    • 记录插上你电脑的每一个 USB 设备信息,凡插过必留记录。
  • 消息推送
  • TTS 发声
    • 参考示例
    • 调用 say hello world 合成 TTS,模拟真人发音,让 Mac 会说话。
  • 更多... (完全停不下来啊)

其他插件思路

  • 番茄钟
  • 应用搜索
  • 桌面小部件
  • ...

使用入门

Hammerspoon 已经将与 MacOS 之间的系统交互封装成了 Lua 的 API,配置 ~/.hammerspoon/init.lua 脚本可以与系统进行交互,只需要了解一些基本的 Lua 语法,就可以 Happy Hacking

我的参考配置

如果你懒得配置,可以参考我的配置,根据自身需求修改

wangshub/hammerspoon-config

最后

已经完全停不下来了,Hammerspoon 每天至少省下了 30 分钟的时间 😀⏱