summaryrefslogtreecommitdiffstats
path: root/.scripts/statusbar/i3battery
diff options
context:
space:
mode:
Diffstat (limited to '.scripts/statusbar/i3battery')
-rwxr-xr-x.scripts/statusbar/i3battery22
1 files changed, 22 insertions, 0 deletions
diff --git a/.scripts/statusbar/i3battery b/.scripts/statusbar/i3battery
new file mode 100755
index 0000000..6f045fc
--- /dev/null
+++ b/.scripts/statusbar/i3battery
@@ -0,0 +1,22 @@
+#!/bin/sh
+
+# Give a battery name (e.g. BAT0) as an argument.
+
+capacity=$(cat /sys/class/power_supply/"$1"/capacity) || exit
+status=$(cat /sys/class/power_supply/"$1"/status)
+
+if [ "$capacity" -ge 80 ]; then
+ color="#00FF00"
+elif [ "$capacity" -ge 60 ]; then
+ color="#FFFFFF"
+elif [ "$capacity" -ge 40 ]; then
+ color="#FFF600"
+elif [ "$capacity" -ge 20 ]; then
+ color="#FFAE00"
+else
+ color="#FF0000"
+fi
+
+[ "$status" = "Charging" ] && color="#FFF"
+
+printf "<span color='%s'>%s %s</span>" "$color" "$(echo "$status" | sed -e "s/,//g;s/Discharging/🔋/;s/Charging/🔌/;s/Unknown/♻️/;s/Full/⚡/;s/ 0*/ /g;s/ :/ /g")" "$(echo "$capacity" | sed -e 's/$/%/')"