Arch Linux では,acpi パッケージを用いることにより,コマンドライン上でバッテリの状態を取得することが出来ます.
これを利用して,tmux のステータスバーにバッテリ残量を表示してみたいと思います.
acpi モジュールによりインストールされる acpi コマンドでは,-b オプションを付与することにより,バッテリの状況を表示できます.記事執筆時では,acpi -b と実行した時の結果は以下のようになっています.
% acpi -b Battery 0: Discharging, 57%, 03:01:42 remaining
バッテリが複数認識されているときは,出力が Battery 1: … と続きます.
では,acpi コマンドの出力を加工していきます.
acpi -b | grep -oE \[0-9\]+%
とすることで,バッテリ残量のパーセント表示のみをフィルタすることができます.
せっかくなので,充電中か否かに応じて,文字色を変えてみます.
バッテリが充電中でないときは,出力に "Discharging" という単語が含まれるのを利用して,以下のように記述できます.
if [ `acpi -b | grep -oE Discharging` = "Discharging" ] ; then echo -n \#\[fg=yellow,bold\] else echo -n \#\[fg=green,bold\] fi echo `acpi -b | grep -oE \[0-9\]+%`
以上のスクリプトを,適当に保存し,gs.tmux.conf で
set -g status-right '… #(sh tmux_status_batt.sh) …'
などとすれば良いと思います.
tmux ステータスバーのカスタマイズは,Manpage of TMUX に詳しいので,詳細はそちらを参照してください.