added the alert_command option

running a shell command before the battery is completely discharged
This commit is contained in:
plumps 2015-08-10 18:41:49 +02:00
parent e85425c8c6
commit f404874767

View File

@ -5,6 +5,7 @@ import configparser
from i3pystatus import IntervalModule, formatp
from i3pystatus.core.util import lchop, TimeWrapper, make_bar
from i3pystatus.core.desktop import DesktopNotification
from i3pystatus.core.command import run_through_shell
class UEventParser(configparser.ConfigParser):
@ -138,6 +139,7 @@ class BatteryChecker(IntervalModule):
"format",
("not_present_text", "Text displayed if the battery is not present. No formatters are available"),
("alert", "Display a libnotify-notification on low battery"),
("alert_command", "Runs a shell command of low-battery emergency"),
"alert_percentage",
("alert_format_title", "The title of the notification, all formatters can be used"),
("alert_format_body", "The body text of the notification, all formatters can be used"),
@ -165,6 +167,7 @@ class BatteryChecker(IntervalModule):
not_present_text = "Battery {battery_ident} not present"
alert = False
alert_command = ""
alert_percentage = 10
alert_format_title = "Low battery"
alert_format_body = "Battery {battery_ident} has only {percentage:.2f}% ({remaining:%E%hh:%Mm}) remaining!"
@ -292,6 +295,8 @@ class BatteryChecker(IntervalModule):
else:
fdict["status"] = "FULL"
color = self.full_color
if self.alert_command and fdict["status"] == "DIS" and fdict["percentage"] <= 1:
run_through_shell(self.alert_command, enable_shell=True)
if self.alert and fdict["status"] == "DIS" and fdict["percentage"] <= self.alert_percentage:
DesktopNotification(