Skip to content
Snippets Groups Projects
Commit d02b8ee7 authored by pharook's avatar pharook
Browse files

Battery warning and poweroff

parent 32bdb85f
No related branches found
No related tags found
No related merge requests found
......@@ -7,11 +7,15 @@ import datetime
import time
import select
import os.path as path
import os
import glob
from operator import itemgetter
import ipc
import alsaaudio
import subprocess
battery_warn = 5
battery_poweroff = 3
def jout(d):
sys.stdout.write(",")
......@@ -46,6 +50,8 @@ def main(argv=None):
sys.stderr = open(path.join(path.expanduser("~"), "i3-switcher.stderr"), "a")
debug("Started")
color = 0x00FF00
last_batt_perc = 100
DEVNULL = os.open(os.devnull, os.O_RDWR)
while True:
# Windows
clients = ipc.getwin(i3command.command(ipc.TREE))
......@@ -97,6 +103,7 @@ def main(argv=None):
except IOError:
pass
batt_percs = []
for batt_sys_path in glob.glob("/sys/bus/acpi/drivers/battery/*/power_supply/*"):
try:
try:
......@@ -116,6 +123,7 @@ def main(argv=None):
else:
batt_char = u" "
batt_perc = 100*batt_now//batt_max
batt_percs.append(batt_perc)
batt_col = 255*batt_now//batt_max
battstr = u"%s%3s" % (batt_char, str(batt_perc)+"%" if batt_status!="Full" else "Full")
out.append({
......@@ -126,6 +134,13 @@ def main(argv=None):
except IOError:
pass
batt_perc_overall = max(batt_percs)
if batt_perc_overall<=battery_warn and int(batt_perc_overall)<int(last_batt_perc):
last_batt_perc = batt_perc_overall
subprocess.call(["i3-nagbar", "-m", "Battery low (%s)" % ", ".join("%s%%" % p for p in batt_percs)], stdin=DEVNULL, stdout=DEVNULL)
if batt_perc_overall<=battery_poweroff:
subprocess.call(["/usr/sbin/poweroff"], stdin=DEVNULL, stdout=DEVNULL)
# Date/time
out.append({"name": "datetime", "full_text": datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S"), "color": "%06x" % color})
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment