Hammerspoon 使用教程
项目介绍
Hammerspoon 是一个强大的 macOS 桌面自动化工具。它通过 Lua 脚本引擎与操作系统之间的桥梁,提供了丰富的系统功能扩展。用户可以通过编写 Lua 代码来与 macOS 的 API 进行交互,实现对应用程序、窗口、鼠标指针、文件系统对象、音频设备、电池、屏幕、低级键盘/鼠标事件、剪贴板、位置服务、Wi-Fi 等的控制。
项目快速启动
安装 Hammerspoon
-
手动安装:
- 下载最新版本的 Hammerspoon 应用。
- 将
Hammerspoon.app
从下载文件夹拖动到应用程序文件夹。
-
使用 Homebrew 安装:
brew install hammerspoon --cask
配置 Hammerspoon
-
创建配置文件:
mkdir -p ~/.hammerspoon touch ~/.hammerspoon/init.lua
-
编辑
init.lua
文件,添加以下基本配置:-- 示例:绑定快捷键打开终端 hs.hotkey.bind({"cmd", "alt", "ctrl"}, "T", function() hs.application.launchOrFocus("Terminal") end)
-
启动 Hammerspoon 应用,并允许其控制您的电脑。
应用案例和最佳实践
窗口管理
通过 Hammerspoon,您可以轻松管理窗口布局:
-- 示例:将当前窗口移动到屏幕左侧半边
hs.hotkey.bind({"cmd", "alt", "ctrl"}, "Left", 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"}, "B", function()
hs.application.launchOrFocus("Safari")
end)
典型生态项目
Spoons
Spoons 是 Hammerspoon 的插件系统,提供了许多预制的功能扩展。您可以通过以下方式安装和使用 Spoons:
-
安装 Spoon:
hs.loadSpoon("SpoonName")
-
配置 Spoon:
spoon.SpoonName:bindHotkeys({ toggle = { {"cmd", "alt", "ctrl"}, "T" } })
社区贡献
Hammerspoon 社区提供了丰富的资源和贡献,包括:
- 示例配置:许多用户分享了他们的配置文件,供其他人参考和学习。
- 贡献指南:开发者可以参考贡献指南,为 Hammerspoon 项目贡献代码。
- IRC 频道:在 Libera 上的
#hammerspoon
频道,您可以获得支持和参与开发讨论。
通过这些资源,您可以更深入地了解和使用 Hammerspoon,实现更多强大的自动化功能。