コマンドラインからMacBookのバッテリー情報を取得

emacsだとデフォルトでノートパソコンのバッテリー情報を表示させるということができる( (display-battery-mode 1) )ので、一体どうやってるんだろうと思ってlisp全くしらないけどbattery.elを見てみました。すると pmset というコマンドを使っていることが発覚。

% pmset -g ps

これでバッテリー情報が取得できます。ioregからバッテリー情報を取得してたの(これ)がなんか馬鹿みたいですねw。
まぁこのままだとscreenのhardstatusに表示させるには出力がちょっと長いので適当に編集。

pmset -g ps | awk '/Internal/ {PERCENT = $2} {STATUS = $3} {REMAIN = $4} END {printf("HP%2d ",PERCENT) ;if (STATUS == "charged;") printf("(Charged)");if (STATUS == "charging;") printf("(Charging)"); if (STATUS == "discharging;") printf("(%s)",REMAIN)}'

awkとかほとんど知らないんでもっと完結に書けるかもしれません。