diff options
Diffstat (limited to '.local/bin/battery-percentage-time')
-rwxr-xr-x | .local/bin/battery-percentage-time | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/.local/bin/battery-percentage-time b/.local/bin/battery-percentage-time new file mode 100755 index 0000000..690afa8 --- /dev/null +++ b/.local/bin/battery-percentage-time @@ -0,0 +1,21 @@ +#!/bin/sh +dbus_send() { + label=$1 + dbus-send --print-reply=literal --system \ + --dest=org.freedesktop.UPower \ + /org/freedesktop/UPower/devices/battery_BAT0 \ + org.freedesktop.DBus.Properties.Get \ + string:org.freedesktop.UPower.Device \ + string:"${label}" | awk '{print $3}' +} + +perc=$(dbus_send 'Percentage') +state=$(dbus_send 'State') + +if [ "$state" -eq 2 ]; then # Discharging + secs=$(dbus_send 'TimeToEmpty') +elif [ "$state" -eq 1 ]; then # Charging + secs=$(dbus_send 'TimeToFull') +fi + +printf '%s%%%%%2dh%02dm \n' "$perc" $((secs / 3600)) $((secs % 3600 / 60)) |