From 6aaea9cf4b283d41016e60735f52c8feb3cd0c9e Mon Sep 17 00:00:00 2001 From: Justine Smithies Date: Tue, 22 Aug 2023 19:46:15 +0100 Subject: Initial commit --- .config/qtile/statusbar/battery.py | 89 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 89 insertions(+) create mode 100755 .config/qtile/statusbar/battery.py (limited to '.config/qtile/statusbar/battery.py') diff --git a/.config/qtile/statusbar/battery.py b/.config/qtile/statusbar/battery.py new file mode 100755 index 0000000..a4fa33a --- /dev/null +++ b/.config/qtile/statusbar/battery.py @@ -0,0 +1,89 @@ +#!/usr/bin/env python3 + +import psutil +import argparse +import subprocess + + +def secs2hours(secs): + mm, ss = divmod(secs, 60) + hh, mm = divmod(mm, 60) + return "%d:%02d:%02d" % (hh, mm, ss) + + +parser = argparse.ArgumentParser() +parser.add_argument('--c', + choices=('status', 'left-click', 'middle-click', 'right-click'), + dest='command', + default='status', + help='Allowed values are status, left-click, middle-click and right-click' + ) +args = parser.parse_args() + +battery = psutil.sensors_battery() +icon = "" +percent = int(battery.percent) +time_left = battery.secsleft +isPlugged = battery.power_plugged +remaining = secs2hours(time_left) + +if args.command == "status": + if isPlugged: + if percent == 100: + icon = "󰂅" + elif percent > 89 and percent < 100: + icon = "󰂋" + elif percent > 79 and percent < 90: + icon = "󰂊" + elif percent > 69 and percent < 80: + icon = "󰢞" + elif percent > 59 and percent < 70: + icon = "󰂉" + elif percent > 49 and percent < 60: + icon = "󰢝" + elif percent > 39 and percent < 50: + icon = "󰂈" + elif percent > 29 and percent < 40: + icon = "󰂇" + elif percent > 19 and percent < 30: + icon = "󰂆" + elif percent > 9 and percent < 20: + icon = "󰢜" + elif percent > 0 and percent < 10: + icon = "󰢟" + message = str(percent) + "%" + print(icon, message, end="") + else: + if percent == 100: + icon = "󰁹" + elif percent > 89 and percent < 100: + icon = "󰂂" + elif percent > 79 and percent < 90: + icon = "󰂁" + elif percent > 69 and percent < 80: + icon = "󰂀" + elif percent > 59 and percent < 70: + icon = "󰁿" + elif percent > 49 and percent < 60: + icon = "󰁾" + elif percent > 39 and percent < 50: + icon = "󰁽" + elif percent > 29 and percent < 40: + icon = "󰁼" + elif percent > 19 and percent < 30: + icon = "󰁻" + elif percent > 9 and percent < 20: + icon = "󰁺" + elif percent > 0 and percent < 10: + icon = "󰂎" + message = str(percent) + "%" + print(icon, message, end="") +if args.command == "left-click": + if not isPlugged: + subprocess.call(["notify-send", "-r", "55555", "-u", "normal", "Est remaining time left: " + remaining]) + else: + subprocess.call(["notify-send", "-r", "55555", "-u", "normal", str(percent) + "% Charged"]) +if args.command == "middle-click": + print("Middle click") +if args.command == "right-click": + print("Right click") -- cgit v1.2.3