免费又强大的 macOS 自动化工具,Hammerspoon 可以让你少买很多 App
macOS 系统最令人难以割舍的特性之一就是丰富的自动化工具支撑:内置的 AppleScript 与 Automator,还有第三方软件 Keyboard Maestro、Hazel、Alfred、LaunchBar 等。这些工具不仅仅为我们免除了许多无聊的重复工作,节省了精力和时间,也让我们时不时可以体会一些解决问题与创造工具的乐趣。今天,我们来看一款更加强大、好玩的开源软件
Hammerspoon
。
通过桥接操作系统与 Lua 脚本引擎,这款软件让我们能够用 Lua 脚本快速方便地与系统 API 沟通,获取各种信息或者进行控制,包括但不仅限于这些方面:窗口、键鼠、文件系统、音频、电池、屏幕、剪贴板、地理位置、Wi-Fi 等,基本上涵盖了系统中的各个方面。除此之外,创建菜单栏图标与菜单、绘制图形界面等自然也不在话下。如果这样的说明让你有些不太明白,那我们其实可将它大致看作macOS 平台上的 JSBox 或 Pythonista。
阅读本文需要使用终端与 Git。少数派网站中有丰富的相关入门教程,可搜索访问。
使用方法
Homebrew 用户可以使用 cask 进行安装:,或者也可以在GitHub 项目页面手动下载安装。
偏好设置推荐配置
在动手编写代码之前,我们先来看看其他人是怎么使用 Hammerspoon 的,也可以直接使用他们公布的成熟配置。
awesome-hammerspoon configuration
这份配置实现了这些功能:
快捷键窗口管理
桌面挂件,包含时钟、日历
快捷键列表 Cheatsheet
Aria2 前端,可以快速添加下载任务,查看当前下载情况
快捷搜索,类似于 Alfred,可搜索浏览器标签页、进程、词典、Emoji 等
图片来自该配置作者介绍
其中窗口管理与常见的快捷键操作类型不同,比较有意思:按下快捷键 后进入管理模式
使用 移动为上下左右的半屏
使用(即 hjkl 上方按键)移动为左上/左下/右上/右下的四分之一窗口
使用 居中,按下 进行窗口大小缩放
使用 向上下左右移动窗口
使用 向左/下增减窗口大小
使用方向键 移动到相应方向上的显示器
使用 撤销、重做上一次操作
使用 或 退出管理
配置使用方法:在终端中运行 ,然后在 Hammerspoon 中重载配置就可以了。
Hammerspoon config
这份配置实现了这些功能:
菜单栏显示近日天气,包含未来一周的天气、气温与风向等
Wi-Fi 自动脚本,通过 Wi-Fi 判断所在位置并做出相应的操作
窗口管理,快速切换为二分屏、三分屏
蓝牙耳机自动连接等
图片来自该配置作者介绍
配置使用方法:在终端中运行 ,然后重载配置。
HammerSpoon config file - by S1ngS1ng
这份配置实现了三方面的功能,包括快捷键窗口管理、播放器 VOX 控制以及 Vim 式的光标移动快捷键。其中的窗口管理,除了常规的全屏、居中与分屏,还能够做到这些:
用快捷键将当前窗口移动至其它显示器,并全屏(可选)
用快捷键任意调整当前窗口的大小
图片来自该配置作者介绍
作者还写了一篇相关的文章,除了使用说明外,也介绍了原理与所使用的 API,对于想要自己编写的读者会有些帮助。
配置使用方法:在终端中运行 ,然后重载配置。
其他配置
此外,这里也收集了一些其他配置,并列出其中的亮点功能,看看有没有你感兴趣或需要的。