summaryrefslogtreecommitdiffstats
path: root/.local/bin/battery-percentage-time
diff options
context:
space:
mode:
authorAmin Bandali <bandali@gnu.org>2020-10-06 00:14:12 -0400
committerAmin Bandali <bandali@gnu.org>2020-10-06 00:14:12 -0400
commitca3a844af240ca87882522d14b530e0f1a6327ef (patch)
treeb01f2630bf8e9af96d9dd40d8e19540544dd6b71 /.local/bin/battery-percentage-time
parentd7dee82420a04e5c92e5b5ad316e14a49bd4d689 (diff)
downloadconfigs-ca3a844af240ca87882522d14b530e0f1a6327ef.tar.gz
configs-ca3a844af240ca87882522d14b530e0f1a6327ef.tar.xz
configs-ca3a844af240ca87882522d14b530e0f1a6327ef.zip
Move user-level configs out of rc.org
I will keep rc.org around for now, only for system-level (global) config files.
Diffstat (limited to '.local/bin/battery-percentage-time')
-rwxr-xr-x.local/bin/battery-percentage-time21
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))