Source code for i3pystatus.temp

from i3pystatus import IntervalModule


[docs]class Temperature(IntervalModule): """ Shows CPU temperature of Intel processors AMD is currently not supported as they can only report a relative temperature, which is pretty useless """ settings = ( ("format", "format string used for output. {temp} is the temperature in degrees celsius"), ('display_if', 'snippet that gets evaluated. if true, displays the module output'), "color", "file", "alert_temp", "alert_color", ) format = "{temp} °C" color = "#FFFFFF" file = "/sys/class/thermal/thermal_zone0/temp" alert_temp = 90 alert_color = "#FF0000" display_if = 'True' def run(self): with open(self.file, "r") as f: temp = float(f.read().strip()) / 1000 if eval(self.display_if): self.output = { "full_text": self.format.format(temp=temp), "color": self.color if temp < self.alert_temp else self.alert_color, }