summaryrefslogtreecommitdiff
path: root/local/bin/bat-symbol
diff options
context:
space:
mode:
Diffstat (limited to 'local/bin/bat-symbol')
-rwxr-xr-xlocal/bin/bat-symbol41
1 files changed, 41 insertions, 0 deletions
diff --git a/local/bin/bat-symbol b/local/bin/bat-symbol
new file mode 100755
index 0000000..1ae28f8
--- /dev/null
+++ b/local/bin/bat-symbol
@@ -0,0 +1,41 @@
+#!/usr/bin/env python3
+def read_file(path):
+ try:
+ with open(path, "r") as f:
+ return f.read().strip()
+ except:
+ return None
+
+def get_battery_info():
+ capacity = read_file("/sys/class/power_supply/BAT1/capacity")
+ status = read_file("/sys/class/power_supply/BAT1/status")
+ ac_online = read_file("/sys/class/power_supply/ACAD/online")
+
+ try:
+ percent = int(capacity)
+ except (TypeError, ValueError):
+ percent = None
+
+ charging = (status == "Charging") or (ac_online == "1")
+ return charging, percent
+
+def print_symbol():
+ charging, percent = get_battery_info()
+
+ if percent is None:
+ print("[?]")
+ return
+
+ if charging and percent >= 90:
+ print("[++]")
+ elif charging and percent < 30:
+ print("[-+]")
+ elif charging:
+ print("[+]")
+ elif not charging and percent < 30:
+ print("[--]")
+ else:
+ print("[-]")
+
+if __name__ == "__main__":
+ print_symbol()