ターミナルにバッテリ情報を表示させるようにさせたらクールだなって思うことが一日に 3 回くらいあったりするのですけども、手っとり早くやろうと思ったら ioreg 使えば良いと思うですよ。
% ioreg -n AppleSmartBattery (略) | | +-o AppleSmartBattery <class AppleSmartBattery, id 0x10000021d, registered, matched, active, busy 0 (9 ms), retain 5> | | { | | "ExternalConnected" = No | | "TimeRemaining" = 197 | | "InstantTimeToEmpty" = 208 | | "ExternalChargeCapable" = No | | "CellVoltage" = (3971,3981,3977,0) | | "PermanentFailureStatus" = 0 | | "BatteryInvalidWakeSeconds" = 30 | | "AdapterInfo" = 0 | | "MaxCapacity" = 6270 (略)
ioreg はハンパなく出力が長いので、これを加工するようなスクリプトでもこさえてやります。このくらいであれば awk とかで良いかな。
% cat battery.sh #!/bin/sh ioreg -n AppleSmartBattery | \ awk '/MaxCapacity/ { MAX=$5 } /CurrentCapacity/ { CURRENT=$5 } /InstantTimeToEmpty/ { REMAIN=$5 } END { printf("Battery: cur: %4d [mAh] max: %4d [mAh] (%5.2f%%) remain: %3d [min] \n", CURRENT, MAX, CURRENT/MAX*100, REMAIN) }' % ./battery.sh Battery: cur: 4917 [mAh] max: 6270 [mAh] (78.42%) remain: 199 [min]
あとは、これを .screenrc の backtick とかに記述しておけばよいですね。
caption always "%{= dd}%0`" backtick 0 1 1 $HOME/.screen.d/battery.sh