diff options
| author | coasteen <coasteen@proton.me> | 2026-07-09 10:42:28 +0330 |
|---|---|---|
| committer | coasteen <coasteen@proton.me> | 2026-07-09 10:42:28 +0330 |
| commit | 8cbadb61604667b407b53ee1258433994fa4765a (patch) | |
| tree | 97765fb29418fd6278fcb4cbb9760893afaf7a58 /local/bin/bat-symbol | |
Diffstat (limited to 'local/bin/bat-symbol')
| -rwxr-xr-x | local/bin/bat-symbol | 41 |
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() |
