一、介紹
Hammerspoon是一種可以讓你更好的管理你的Mac OS X系統,用來自動化任務以及自定義Mac OS X設置的功能強大的框架。Hammerspoon是一個基於Lua語言的框架,Lua是一種輕量級的嵌入式腳本語言,易於學習及使用。Hammerspoon具有很多有用的功能,例如通過Lua腳本創建快捷鍵,窗口管理、鍵盤修改以及自動化任務等等。同時,由於Hammerspoon緊密集成了Lua的API,你還可以快速地編寫Lua腳本來調用一些高級的操作系統功能。
二、Hammerspoon基礎
1、安裝
首先,在官方網站 https://www.hammerspoon.org 下載最新版本的Hammerspoon並安裝。安裝後啟動應用程序,菜單欄上會出現Hammerspoon的圖標。
2、Hammerspoon配置界面
在菜單欄上,點擊Hammerspoon圖標,在下拉菜單中選擇“Open Config”,就會打開配置文件的修改界面。Hammerspoon的配置文件使用的是Lua編寫的,打開時,你會看到它已經定義了一些基礎的配置內容。
-- 示例代碼
-- 將CMD + Q 綁定到退出APP的動作
hs.hotkey.bind({"cmd"}, "Q", function()
hs.application.quitAll()
end)
3、快捷鍵綁定
一個最常見的用途就是為應用或命令定義快捷鍵,使用Hammerspoon的hs.hotkey.bind函數綁定自己想要的快捷鍵即可。如下所示的代碼將CMD+M綁定到將某應用從最小化狀態還原到正常狀態:
-- 示例代碼
hs.hotkey.bind({"cmd"}, 'M',function()
local app = hs.application.frontmostApplication()
app:unhide()
end)
4、自動化任務
除了綁定快捷鍵,我們還可以使用Hammerspoon來自動執行任務。比如我們可以設置在指定時間運行某個App,如下的代碼可使Safari在每天早上9點打開:
-- 示例代碼
hs.timer.doAt("09:00", "1d", function()
hs.application.launchOrFocus("Safari")
end)
三、鍵盤修改
Hammerspoon還提供了非常方便的鍵盤修改功能,你可以使用Hammerspoon修改任何的鍵盤按鍵。例如,你可以將Caps Lock鍵映射為Control鍵。如下代碼將Caps Lock鍵與Control鍵映射:
-- 示例代碼
hs.loadSpoon("SpoonInstall")
hs.hotkey.bind({"cmd"}, "R", function()
hs.application.launchOrFocus("Safari")
end)
四、窗口管理
Hammerspoon可以強大的管理窗口。例如將窗口調整到距離屏幕左邊界1/3的位置:
-- 示例代碼
hs.hotkey.bind({"cmd","alt","ctrl"}, "Left", function()
win = hs.window.focusedWindow()
f = win:frame()
screen = win:screen()
max = screen:frame()
f.x = max.x
f.y = max.y
f.w = max.w / 3
f.h = max.h
win:setFrame(f)
end)
五、使用Hammerspoon來維護Mac OS X系統
通過Hammerspoon,我們也可以對系統其他方面進行自動化。例如,你可以按照下面的代碼示例,檢查並更新HomeBrew和macOS中的各種工具:
-- 示例代碼
local installable = hs.fnutils.filter(
dirtyoutput, function(s) return s:sub(1,2) == " " and s:sub(-9,-1) == "(newest)" end)
if #installable == 0 then return end
hs.notify.new({title="Homebrew Updates"; informativeText=table.concat(installable,"\n")}):send()
end
hs.hotkey.bind({"cmd", "alt", "ctrl"}, "U", checkForUpdate)
六、結語
本文介紹了Hammerspoon的基礎知識,以及一些常用的功能。Hammerspoon具有很多有用的功能,可以讓你更好地管理Mac OS X系統,提高你的工作效率。如果你需要自動化任務、自定義Mac OS X的特定設置,或者使用Lua腳本調用操作系統高級API,那麼Hammerspoon將是你的不二選擇。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/270297.html