Hammerspoon:利用 Lua 實現極其強大的 macOS 桌面自動化
Hammerspoon 是一款為 macOS 提供強大自動化功能的工具,其核心是作業系統與 Lua 腳本引擎之間的橋樑,讓您可以透過編寫 Lua 腳本來控制 macOS 環境的各個面向。
背景
Hammerspoon 是一款針對 macOS 設計的開源自動化工具,其核心功能是作為作業系統與 Lua 腳本引擎之間的橋樑。它透過多樣化的擴充套件,讓使用者能以程式碼精確控制視窗管理、系統事件、硬體交互等各項功能,是許多進階 Mac 使用者用來打造個人化工作流的利器。
社群觀點
在 Hacker News 的討論中,Hammerspoon 被譽為將 macOS 各種功能黏合在一起的「萬能膠水」。許多資深使用者認為,雖然市面上有許多專門的視窗管理工具(如 AeroSpace 或 Sizeup),但 Hammerspoon 的強大之處在於其高度的自定義能力與 Lua 腳本的靈活性。例如,有使用者分享了極簡的視窗網格配置,僅需幾行代碼就能透過快捷鍵呼叫網格,並以字母定位快速調整視窗大小與位置。這種「可程式化」的特性,讓它不僅能處理視窗佈局,還能深入到系統層級的自動化,像是根據當前啟動的應用程式動態重新映射鍵盤快捷鍵,或是監控特定的系統狀態。
社群中也展示了許多極具創意的進階應用。有開發者利用它來管理遠端會議軟體的狀態,例如一鍵切換 Teams 或 Zoom 的靜音與視訊開關,甚至能強制隱藏 Zoom 在分享螢幕時難以消除的狀態列。此外,Hammerspoon 常與硬體工具如 QMK 韌體鍵盤結合,將複雜的系統操作簡化為單一的實體按鍵觸發。另一位重度使用者則分享了更為複雜的工作流,包括將 Safari 分頁批次匯出至 Obsidian 筆記、控制外部攝影棚燈光亮度,以及在垃圾桶出現磁碟映像檔時自動提示卸載。這種跨軟硬體的整合能力,是其他單一功能軟體難以企及的。
然而,這種強大功能也伴隨著一定的學習門檻與維護成本。討論中提到,Hammerspoon 本身在安裝後「什麼都不會做」,使用者必須自行撰寫設定檔。這導致部分使用者在追求極致效率的過程中,可能會遇到快捷鍵衝突的問題,例如自定義的視窗快捷鍵與終端機的預設指令相衝。儘管如此,社群對其評價依然極高,認為它是 Mac 平台上不可或缺的生產力工具,甚至有使用者表示在 Windows 平台上必須尋找 AutoHotkey 作為其替代品,才能維持同樣的操作習慣。對於追求極簡或不希望自行維護複雜腳本的人來說,雖然有人轉向更專一的工具,但 Hammerspoon 始終是那些希望完全掌控作業系統行為者的首選。
延伸閱讀
在討論中,使用者提到了幾個能與 Hammerspoon 搭配或作為替代方案的工具。硬體方面,QMK 韌體被提及用於強化鍵盤層級的自動化控制。軟體方面,AeroSpace 與 PaperWM 是常被拿來比較的視窗管理方案,而 Sizeup 則是另一款專注於視窗縮放的工具。此外,對於不習慣直接撰寫 Lua 的開發者,也有人推薦使用 Fennel 語言,這是一種可以編譯成 Lua 的 Lisp 方言,能為 Hammerspoon 的配置帶來不同的語法體驗。