Improved battery module for 2 batteries

This commit is contained in:
Alex 2018-11-03 17:52:02 +01:00
parent 316dde0dbe
commit 9b4d1c52e6

View file

@ -78,16 +78,17 @@ class Module(bumblebee.engine.Module):
return "n/a" return "n/a"
capacity = capacity if capacity < 100 else 100 capacity = capacity if capacity < 100 else 100
widget.set("capacity", capacity) widget.set("capacity", capacity)
if bumblebee.util.asbool(self.parameter("showdevice", False)): output = "{}%".format(capacity)
widget.set("theme.minwidth", "100% ({})".format(os.path.basename(widget.name)))
return "{}% ({})".format(capacity, os.path.basename(widget.name))
widget.set("theme.minwidth", "100%") widget.set("theme.minwidth", "100%")
remaining = None if bumblebee.util.asbool(self.parameter("showremaining", True))\
if bumblebee.util.asbool(self.parameter("showremaining", True)): and self.getCharge(widget) == "Discharging":
remaining = self.remaining() output = "{} {}".format(output, self.remaining())
return "{}%{}".format(capacity, "" if not remaining else " ({})".format(remaining)) if bumblebee.util.asbool(self.parameter("showdevice", True)):
output = "{} ({})".format(output, os.path.basename(widget.name))
return output
def state(self, widget): def state(self, widget):
state = [] state = []
@ -104,14 +105,11 @@ class Module(bumblebee.engine.Module):
if widget.get("ac"): if widget.get("ac"):
state.append("AC") state.append("AC")
else: else:
charge = "" charge = self.getCharge(widget)
try:
with open("{}/status".format(widget.name)) as f:
charge = f.read().strip()
except IOError:
pass
if charge == "Discharging": if charge == "Discharging":
state.append("discharging-{}".format(min([10, 25, 50, 80, 100], key=lambda i: abs(i-capacity)))) state.append("discharging-{}".format(min([10, 25, 50, 80, 100], key=lambda i: abs(i-capacity))))
elif charge == "Unknown":
state.append("unknown")
else: else:
if capacity > 95: if capacity > 95:
state.append("charged") state.append("charged")
@ -120,4 +118,12 @@ class Module(bumblebee.engine.Module):
return state return state
def getCharge(self, widget):
charge = ""
try:
with open("{}/status".format(widget.name)) as f:
charge = f.read().strip()
except IOError:
pass
return charge
# vim: tabstop=8 expandtab shiftwidth=4 softtabstop=4 # vim: tabstop=8 expandtab shiftwidth=4 softtabstop=4