tmuxステータスバーに入力ソースを表示させる
tmuxを全画面で使うときの悩み
私はtmuxを使うときはiTerm2を全画面にして使うことが多いのですが、これをするとMacのステータスバーが隠れてしまうため、入力ソースが英数なのか日本語入力なのか一目で分からなくて困る場合があります。
今回作ったプラグインはtmuxのステータスバーに入力ソースを表示させるものです。
現在Macのみの対応ですが、できればUbuntu+iBusにも対応させたいなあと思ってます。
GitHub:
ki-chi/tmux-inputmethod: Tmux plugin showing your input method or keyboard layout
Demo
百聞は一見にしかずということで。
tmuxのステータスバー右上に入力ソースが表示されています。デモ用にフルスクリーンを解除していますが、フルスクリーンにしてもちゃんと使えます。
インストール
Tmux Plugin Managerを導入していれば一瞬でインストールできます。.tmux.conf
に
set -g @plugin 'ki-chi/tmux-inputmethod'
と書いて、prefix + I(shift+i)
でインストール完了です。ステータスバーの表示については
set-option -g status-right '#{iptmthd}'
のようにstatus-right
やstatus-left
のオプションの中に #{iptmthd}
の文字列を入れてもらえればOKです。
仕組み
中身は至って簡単で、Macのdefaults
コマンドでライブラリのplistを読んで、grepとsedで整形しているだけです。実際にお使いのMacで
$ defaults read ~/Library/Preferences/com.apple.HIToolbox AppleSelectedInputSources
としていただければ入力ソースが出力されるかと思います。詳しくはGitHubのscripts/check_inputmethod.shをご覧ください。
(sedが使いこなせれば、もう少し効率的に書く方法があるような気がします…)
プラグインの作り方自体はtmuxを使いこなす / プラグイン開発で機能を拡張 | Developers.IOが大変参考になりました。
何かありましたらissueなどで報告していただければ幸いです。