Source code for i3pystatus.tlp

from i3pystatus import IntervalModule


[docs]class Tlp(IntervalModule): """ Shows the current mode of TLP (Linux power management tool), either battery, AC or unknown. .. rubric:: Available formatters * `{output}` - one of the strings configured through the `*_text` settings """ last_pwr_file = "/run/tlp/last_pwr" bat_color = "#00FF00" ac_color = "#FFAA00" na_color = "#FF0000" bat_text = "BAT" ac_text = "AC" na_text = "N/A" settings = ( ("last_pwr_file", "path to the TLP 'last pwr' file, default is `/run/tlp/last_pwr`"), ("bat_color", "color of text when TLP is in battery mode"), ("ac_color", "color of text when TLP is in AC mode"), ("na_color", "color of text when TLP is in unknown mode"), ("bat_text", "text to show when TLP is in battery mode"), ("ac_text", "text to show when TLP is in AC mode"), ("na_text", "text to show when TLP is in unknown mode"), "format", ) format = "{output}" def run(self): try: with open(self.last_pwr_file) as f: content = "".join(f.readlines()).strip() except Exception as e: content = None if content == "0": # AC text = self.ac_text color = self.ac_color elif content == "1": text = self.bat_text color = self.bat_color else: text = self.na_text color = self.na_color self.output = { "full_text": text, "color": color, }