Merge pull request #317 from alexmohr/BatteryImprovements

Improved battery module for 2 batteries
This commit is contained in:
tobi-wan-kenobi 2018-11-03 19:15:29 +01:00 committed by GitHub
commit 7a12a07a7c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

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", False)):
output = "{} ({})".format(output, os.path.basename(widget.name))
return output
def state(self, widget): def state(self, widget):
state = [] state = []
@ -104,12 +105,7 @@ 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": elif charge == "Unknown":
@ -122,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