💻
WezTermをHammerspoonでCtrlダブルタップのHotkeyを設定してみた
概要
iTerm2ではCtrlキーのダブルタップでHotkeyを設定していましたが、WezTermにはHotkeyを設定する機能がないため、Hammerspoonを利用して同様の操作を再現しました。
環境
- OS: macOS Sonoma 14.6.1
- WezTerm: Version 20240203-110809-5046fc22
Hammerspoonとは
Hammerspoonは、macOSで動作する自動化ツールです。Luaスクリプトを使用して、キーボードのホットキー設定やウィンドウ操作、アプリケーションの起動など、macOSのさまざまな操作を柔軟に制御することができます。
導入手順
1. Hammerspoonのインストール
Homebrewを利用してHammerspoonをインストールします。
brew install --cask hammerspoon
2. Hotkey設定ファイルの作成
~/.hammerspoon/ctrlDoublePress.lua
の作成
1. Ctrl
キーのダブルタップを検知するために必要なモジュールを~/.hammerspoon/ctrlDoublePress.lua
に設定します。
~/.hammerspoon/init.lua
の編集
2. 表示/非表示してくれる以下のスクリプトを~/.hammerspoon/init.lua
に設定します。
-- Ctrlキーのダブルタップを検知する設定
local double_press = require("ctrlDoublePress")
-- WezTermを表示または非表示に切り替える関数
local open_wezterm = function()
local bundleID = "com.github.wez.wezterm" -- WezTermのBundle ID
local app = hs.application.get(bundleID)
if app == nil or app:isHidden() then
hs.application.launchOrFocusByBundleID(bundleID)
else
app:hide()
end
end
-- ダブルタップの動作を設定
double_press.timeFrame = 0.5 -- ダブルタップの間隔(秒)
double_press.action = open_wezterm
3. Hammerspoonの設定
- Hammerspoonを起動します。
- システム設定 → プライバシーとセキュリティ → アクセシビリティを開き、Hammerspoonにアクセシビリティ権限を付与します。
注意した点
最初、アプリ名で設定しようとしましたが、認識されない場合があったので、Bundle IDを使用しました。
-- Bundle IDを使用
local bundleID = "com.github.wez.wezterm"
local app = hs.application.get(bundleID)
-- アプリ名を使用
local appName = "WezTerm"
local app = hs.application.get(appName)
まとめ
これで、CtrlキーのダブルタップによるWezTermの表示・非表示切り替えが簡単に行えるようになりました。アプリをいちいちクリックして操作する手間が省けます。
参考記事
Discussion