summaryrefslogtreecommitdiffstats
path: root/.local/bin/battery-percentage-time
diff options
context:
space:
mode:
Diffstat (limited to '.local/bin/battery-percentage-time')
-rwxr-xr-x.local/bin/battery-percentage-time22
1 files changed, 22 insertions, 0 deletions
diff --git a/.local/bin/battery-percentage-time b/.local/bin/battery-percentage-time
new file mode 100755
index 0000000..b0122a8
--- /dev/null
+++ b/.local/bin/battery-percentage-time
@@ -0,0 +1,22 @@
+#!/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))