macOS 系统最令人难以割舍的特性之一就是丰富的自动化工具支撑:内置的 AppleScript 与 Automator,还有第三方软件 Keyboard Maestro、Hazel、Alfred、LaunchBar 等。这些工具不仅仅为我们免除了许多无聊的重复工作,节省了精力和时间,也让我们时不时可以体会一些解决问题与创造工具的乐趣。今天,我们来看一款更加强大、好玩的开源软件 Hammerspoon。
通过桥接操作系统与 Lua 脚本引擎,这款软件让我们能够用 Lua 脚本快速方便地与系统 API 沟通,获取各种信息或者进行控制,包括但不仅限于这些方面:窗口、键鼠、文件系统、音频、电池、屏幕、剪贴板、地理位置、Wi-Fi 等,基本上涵盖了系统中的各个方面。除此之外,创建菜单栏图标与菜单、绘制图形界面等自然也不在话下。如果这样的说明让你有些不太明白,那我们其实可将它大致看作 macOS 平台上的 JSBox 或 Pythonista。
推荐阅读:
使用方法
Homebrew 用户可以使用 cask 进行安装:brew cask install hammerspoon,或者也可以在 GitHub 项目页面 手动下载安装。
偏好设置
首次打开 Hammerspoon 后,偏好设置窗口自动打开,点击上图中 Enable Accessibility 授予辅助功能权限。此时的 Hammerspoon 并不具备任何功能,就如同 iOS 上尚未加入任何捷径的捷径 App 一样。我们需要在 ~/.hammerspoon/init.lua 中加入自己编写的配置脚本,并且点击 Hammerspoon 菜单栏图标并选择 Reload Config(重载配置),使配置生效。
推荐配置
在动手编写代码之前,我们先来看看其他人是怎么使用 Hammerspoon 的,也可以直接使用他们公布的成熟配置。
awesome-hammerspoon configuration
下载地址:
ashfinal/awesome-hammerspoon
这份配置实现了这些功能:
其中窗口管理与常见的快捷键操作类型不同,比较有意思:按下快捷键 ?Option + R 后进入管理模式
配置使用方法:在终端中运行 git clone
https://github.com/ashfinal/awesome-hammerspoon.git ~/.hammerspoon,然后在 Hammerspoon 中重载配置就可以了。
点击查看中文说明及讨论:
Hammerspoon config
下载地址:
wangshub/hammerspoon-config
这份配置实现了这些功能:
配置使用方法:在终端中运行 git clone
https://github.com/wangshub/hammerspoon-config.git ~/.hammerspoon,然后重载配置。
点击查看中文说明及谈论:
https://www.v2ex.com/t/553241
HammerSpoon config file – by S1ngS1ng
下载地址:S1ngS1ng/HammerSpoon
这份配置实现了三方面的功能,包括快捷键窗口管理、播放器 VOX 控制以及 Vim 式的光标移动快捷键。其中的窗口管理,除了常规的全屏、居中与分屏,还能够做到这些:
详细介绍(中文):
https://github.com/S1ngS1ng/HammerSpoon/blob/master/README-cn.md
配置使用方法:在终端中运行 git clone
https://github.com/S1ngS1ng/HammerSpoon.git ~/.hammerspoon,然后重载配置。
其他配置
此外,这里也收集了一些其他配置,并列出其中的亮点功能,看看有没有你感兴趣或需要的。
配置方案
功能
Braden1996/BradensPoon
划定区域打开终端、Spotify 提醒
ztomer/.hammerspoon
番茄计时器
andrewhampton/dotfiles
Gmail 新邮件提醒
tdlm/hammerspoon
菜单栏显示 GitHub PR
TwoLeaves/hammerspoon
桌面 / Space 管理
scottcs/dot_hammerspoon
电池状态提醒、系统休眠阻止、Hazel 代替等
agzam/spacehammer
Spacemacs 式的快捷键风格
你也可以访问 Hammerspoon 官 Wiki 页面 查看更多配置方案,也可以在搜索引擎中进行搜寻。
自己动手写脚本
直接用别人的配置,难以非常妥帖地符合自己的需求。那么不如参考各种配置,规划编写我们自己的配置脚本。
如果对 Lua 语言不了解,可以看看 X分钟速成Y 站上的中文教程 快速入门。此外,Hammerspoon 官方提供了一份 快速入门指南,围绕多个实际应用场景介绍了相关的 API 使用,并且给出了示例代码,也可以点击查看 完整的 API 文档 。
除了 Hammerspoon 自身提供的接口外,还有不少其它开发者贡献的 扩展 和 插件(点击查看相应列表)。扩展为 Hammerspoon 加入了额外的 API,有些还被其最终合并进去,如 Spotify 控制、利用私有 API 操作桌面(Desktop/Space)的扩展。在 Hammerspoon 中插件被称为 Spoon,是使用 API 编写的较为完整的功能模块,基本上开箱即用,比如 Bingdaily 自动每天使用 bing 图片做壁纸,HSaria2 控制 Aria2 并提供一个面板可以添加任务,显示当前下载情况。
「我想玩这个,但是不会编程怎么办?」,别急,现在开始学习编程也不晚 :)
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!