diff --git a/bumblebee/modules/battery.py b/bumblebee/modules/battery.py index 581a3eb..423d509 100644 --- a/bumblebee/modules/battery.py +++ b/bumblebee/modules/battery.py @@ -19,11 +19,15 @@ class Module(bumblebee.engine.Module): super(Module, self).__init__(engine, config, bumblebee.output.Widget(full_text=self.capacity) ) - battery = self.parameter("device", "BAT1") + battery = self.parameter("device", "BAT0") self._path = "/sys/class/power_supply/{}".format(battery) self._capacity = 100 def capacity(self): + if self._ac: + return "ac" + if self._capacity == -1: + return "n/a" return "{:03d}%".format(self._capacity) def update(self, widgets): @@ -31,16 +35,22 @@ class Module(bumblebee.engine.Module): self._ac = False if not os.path.exists(self._path): self._ac = True + self._capacity = 100 + return try: with open(self._path + "/capacity") as f: self._capacity = int(f.read()) except IOError: - self._capacity = 100 + self._capacity = -1 self._capacity = self._capacity if self._capacity < 100 else 100 def state(self, widget): state = [] + + if self._capacity < 0: + return ["critical", "unknown"] + if self._capacity < int(self.parameter("critical", 10)): state.append("critical") elif self._capacity < int(self.parameter("warning", 20)): diff --git a/bumblebee/theme.py b/bumblebee/theme.py index a7a7ccd..3486f70 100644 --- a/bumblebee/theme.py +++ b/bumblebee/theme.py @@ -121,8 +121,9 @@ class Theme(object): state_themes = [] # avoid infinite recursion - if name not in widget.state(): - for state in widget.state(): + states = widget.state() + if name not in states: + for state in states: state_themes.append(self._get(widget, state, {})) value = self._defaults.get(name, default) diff --git a/themes/icons/awesome-fonts.json b/themes/icons/awesome-fonts.json index c019337..770cfa8 100644 --- a/themes/icons/awesome-fonts.json +++ b/themes/icons/awesome-fonts.json @@ -1,5 +1,8 @@ { - "defaults": { "separator": "", "padding": " " }, + "defaults": { + "separator": "", "padding": " ", + "unknown": { "prefix": "" } + }, "date": { "prefix": "" }, "time": { "prefix": "" }, "memory": { "prefix": "" },