Omarchy環境でHerdrのprefixキーを押したら日本語入力から英語入力に切り替える

コーディングエージェントな時代になって LazyVim を使うようになり、ターミナルマルチプレクサも tmux だったり zellij だったりを渡り歩いてきた。
zellij でもそんなに不満はなかったんだけど、Herdr を試してみたら「これいいじゃん」ってなって乗り換えた。

ただ一つだけストレスがあった。
日本語入力のまま prefix キー (Ctrl+B) を押すと、そのあとのキーが IME に食われて Herdr の操作ができないのだ。いちいち英語入力に切り替えてから prefix を押すのは地味に面倒くさい。

そこで、Omarchy (Hyprland) のキーバインドで prefix を押した瞬間に日本語入力を off にする ようにしてみた。

1
2
3
4
5
6
# ~/.config/hypr/keybinds.conf

# herdr prefix (Ctrl+B) を押したら fcitx5 を直接入力(英語)に切り替える
# bindn = 非消費バインド: コマンド実行後もキーはそのままターミナルへ届く
# Alacritty がアクティブなときだけ発火(他アプリの Ctrl+B には影響させない)
bindn = CTRL, B, exec, sh -c '[ "$(hyprctl activewindow -j | jq -r .class)" = "Alacritty" ] && fcitx5-remote -c'

ポイントは bindn。普通の bind だとキーが消費されて Ctrl+B がターミナルに届かなくなってしまうが、bindn なら fcitx5 の切り替えコマンドを実行しつつ、キーはそのまま Herdr まで届く。さらに Alacritty がアクティブなときだけ発火するようにしてあるので、ブラウザとかで使う Ctrl+B には影響しない。

これで日本語を打ってる途中でも、何も考えずに prefix を押せば Herdr の操作に入れる。地味だけど快適になった。

カテゴリ

comments powered by Disqus