tmux-powerline

Brogramming with Tom
tmux-powerlineのthemeを設定する方法などを紹介します。前回はdefaultを編集する方法を書きましたが、新しいtmux-powerlineは、themeの切り替えが簡単になってます。

photo credit: ryanoshea via photopin cc


tmux-powerline





tmux-powerlineのダウンロードと設定



以下は、用意されたテーマ(デフォルト)を編集し、ステータスラインをカスタマイズしていくやり方です。私は、このやり方を採用しています。デフォのテーマが変更されたらされたで、面白いし、あまりこだわりを持っていないこともあるかもしれません。

mkdir -p ~/.tmux

git clone https://github.com/erikw/tmux-powerline.git ~/.tmux/tmux-powerline

vim ~/.tmux/tmux-powerline/themes/default.sh


具体的な設定方法は以下のとおりです。

#"earthquake 3 0" \
"pwd 89 211" \


ここで、 #(コメントアウト)すると、該当シェルスクリプトが無効になり、ステータスラインに表示されなくなります。


逆に、 #を外すと、表示されるようになります。


次に、色などは、数字を変更します。例えば、バッテリー表示の色を変更してみましょう。

"battery 5 7" \


ここで、5の場所は背景色、 7の場所は、指定する文字色を示します。色については、具体的には、5がピンク、7が白です。





次に、 ~/.tmux.confに以下の記述を追記します。

set-option -g status on
set-option -g status-interval 2
set-option -g status-utf8 on
set-option -g status-justify "centre"
set-option -g status-left-length 60
set-option -g status-right-length 90
set-option -g status-left "#(~/.tmux/tmux-powerline/powerline.sh left)"
set-option -g status-right "#(~/.tmux/tmux-powerline/powerline.sh right)"



tmux-powerlineのテーマ変更



しかし、本来は、~/.tmux/tmux-powerline/theme/フォルダに、テーマファイルを作成していくのが、作者が意図した使い方だと考えられます。


ここで、テーマファイルを作成し、好きなように編集してみましょう。

cd ~/.tmux/tmux-powerline/theme/

cp default.sh syui.sh

vim syui.sh



次に、以下のファイルを開きます。

vim ~/.tmux/tmux-powerline/config/defaults.sh



これを以下のように編集します。

# Default values for non segment configuration options.

export TMUX_POWERLINE_DEBUG_MODE_ENABLED_DEFAULT="false"
export TMUX_POWERLINE_PATCHED_FONT_IN_USE_DEFAULT="true"
export TMUX_POWERLINE_THEME_DEFAULT="syui"



これで、先ほど作成したテーマに変更できます。もしカッコいいテーマができたら、ぜひ教えて下さい。


~/.tmux.conf



独自のシェルスクリプトなどを使用する場合は、tmux-powerlineの設定ファイルを編集しても良いし、tmuxの設定ファイルを編集してもよいです。ここでは、後者をやっています。

set-option -g status-left "#(~/tmux-powerline/powerline.sh left)#[bg=red]#[fg=black]⮀#[bg=red]#[fg=white] #(used-mem) %% #[bg=black]#[fg=red]⮀"



カラーは、red, white, cyan, black, green, yellow, blueなどがあります。


そして、 bg=の記述は、バックグラウンド(背景)を意味し、 fg=の記述は、フォント(文字)を意味します。


例えば、 #[bg=red]#[fg=black]memoryと記述したとすると、これは、 「memoryという文字列を背景色を赤に、文字色を黒にして表示する」ということを意味します。


ちなみに、tmux-powerlineが用意してくれているシェルスクリプトは、 ~/.tmux/tmux-powerline/segments/にありますので、自分で作る前に、見てみてください。