Source code for i3pystatus.dpms

from i3pystatus import IntervalModule
from i3pystatus.core.command import run_through_shell


[docs]class DPMS(IntervalModule): """ Shows and toggles status of DPMS which prevents screen from blanking. .. rubric:: Available formatters * `{status}` — the current status of DPMS @author Georg Sieber <g.sieber AT gmail.com> """ interval = 5 settings = ( "format", "format_disabled", "color", "color_disabled", ) color_disabled = "#AAAAAA" color = "#FFFFFF" format = "DPMS: {status}" format_disabled = "DPMS: {status}" on_leftclick = "toggle_dpms" status = False def run(self): self.status = run_through_shell("xset -q | grep -q 'DPMS is Enabled'", True).rc == 0 if self.status: self.output = { "full_text": self.format.format(status="on"), "color": self.color } else: self.output = { "full_text": self.format_disabled.format(status="off"), "color": self.color_disabled } def toggle_dpms(self): if self.status: run_through_shell("xset -dpms s off", True) else: run_through_shell("xset +dpms s on", True)