tmux-powerlineで複数のバッテリー残量表示をできるようにした

tmuxを使ってはいるもののそこまで設定をしていなかったので、これを機にいろいろと設定をすることにしました。
その中でtmux-powerlineの導入に少し手間取ったので、やったことをここにまとめます。

tmuxは1つの端末上で仮想端末を管理することのできるソフトです。
そして、tmux-powerlineはtmuxのステータスバーをカスタマイズすることができるプラグインです。

インストール方法では以下のサイトを見ながら行ったので、そちらを参考にするといいです。

tmux-powerline - Qiita

本題

現在私の環境では、内蔵バッテリーの他に拡張バッテリーを使用しています。
しかしtmux-powerlineではバッテリー残量が1つしか表示してくれません。
バッテリー表示に関するスクリプトはtmux-powerline/segmentsの中にbattery.shがあります。
今回は、そこを書き換えることにしました。

複数のバッテリー表示に使ったもの

今回はacpiコマンドを用いて複数のバッテリー表示を行うことにしました。
acpiコマンドは、Debianの場合apt-getを用いることによってインストールすることができます。

$ apt-get install acpi

このコマンドによって出力されたものをcutコマンドを用いてバッテリー残量のみを切り取りました。
以下が新しく書いたbattery.shです。

HEART_FULL=""
HEART_EMPTY=""

run_segment() {
    output=$(__cutinate)
    if [ -n "$output" ]; then
        echo "$output"
    fi
}

__cutinate() {
    for i in `acpi | cut -f1 -d"%" | cut -f4 -d" "`
    do
        if test $i -gt 50; then #バッテリー残量が50%以下の場合はHEART_EMPTYを表示
            echo -n $HEART_FULL
        else
            echo -n $HEART_EMPTY
        fi
        echo -n " $i% "
    done
}

するとこのようにバッテリーが複数表示されたことがわかります。

f:id:LazyMii:20140306163245p:plain