Hammerspoon 使用教程
项目介绍
Hammerspoon 是一个强大的 macOS 桌面自动化工具。它通过桥接操作系统与 Lua 脚本引擎,利用一系列扩展来暴露系统的特定功能,从而实现高度定制化的自动化任务。用户可以编写 Lua 代码来与 macOS 的 API 交互,控制应用程序、窗口、鼠标指针、文件系统对象、音频设备、电池、屏幕、低级键盘/鼠标事件、剪贴板、位置服务、Wi-Fi 等。
项目快速启动
安装 Hammerspoon
首先,通过 Homebrew 安装 Hammerspoon:
brew install --cask hammerspoon
配置初始脚本
安装完成后,创建一个初始 Lua 脚本文件:
mkdir -p ~/.hammerspoon
touch ~/.hammerspoon/init.lua
编辑 init.lua
文件,添加以下基本配置:
hs.alert.show("Hello Hammerspoon!")
启动 Hammerspoon
打开 Hammerspoon 应用,点击菜单栏中的 Hammerspoon 图标,选择“Reload Config”以加载新配置。
应用案例和最佳实践
窗口管理
Hammerspoon 可以用于自动化窗口管理,例如将窗口移动到屏幕的特定位置:
hs.hotkey.bind({"cmd", "alt", "ctrl"}, "H", function()
local win = hs.window.focusedWindow()
local f = win:frame()
local screen = win:screen()
local max = screen:frame()
f.x = max.x
f.y = max.y
f.w = max.w / 2
f.h = max.h
win:setFrame(f)
end)
快捷键绑定
创建自定义快捷键来执行常用任务:
hs.hotkey.bind({"cmd", "alt", "ctrl"}, "R", function()
hs.reload()
end)
hs.alert.show("Config loaded")
典型生态项目
Spoons
Spoons 是 Hammerspoon 的一个扩展库,提供了许多预构建的功能模块,如窗口管理、应用启动器等。可以通过以下方式安装和使用 Spoons:
- 下载 Spoon 文件。
- 将其放置在
~/.hammerspoon/Spoons
目录下。 - 在
init.lua
中加载并配置 Spoon:
hs.loadSpoon("MySpoon")
spoon.MySpoon:start()
社区贡献
Hammerspoon 社区活跃,许多用户贡献了各种配置和扩展。可以在 GitHub 上找到这些资源,例如:
通过这些资源,可以进一步扩展 Hammerspoon 的功能,实现更多自动化任务。