def render(self): status = self.mpd.status() song = self.mpd.currentsong() info = PanelStrip("music") if status["state"] not in ("play", "pause"): return info.text("DON'T PANIC!") info.icon("music") info += PanelStrip().text(song["artist"]).trim(200).text(" - ") if status["state"] == "play": colour = PanelVisual.active else: colour = None info += PanelStrip().text(song["title"], colour).trim(200) info.move(8).icon("volume").move(3) return info.text(status["volume"])
def battery_info(self): if not self.battery.exists(): return status = self.battery.status() info = PanelStrip('battery') if status == 'Full': info.icon('battery_max') elif status == 'Charging': info.icon('battery_charging') else: info.icon('battery') if self.battery.percent() < 15: background = PanelVisual.urgent else: background = None info.text( str(self.battery.percent()) + '%', background=background ) info.text(' (' + str(self.battery.current_charge()) + 'mAh') if self.battery.status() == 'Discharging': info.text(' at ' + str(self.battery.current()) + 'mA') info.text(') ') return info
def loop(self, events): cpu = '--' while True: info = PanelStrip('system_info') info += self.battery_info() info.icon('cpu').text(cpu).text(' ') info.icon('ram').text(self.ram()).text(' ') info.icon('load').text(self.load()).text(' ') events.put(info) cpu = self.cpu(5) # wait 5 seconds and measure cpu