-- originally written by nilninull local dpms_mod = nil local function on_property_change(name, value) print("RUN on property change", value, dpms_mod) if dpms_mod == nil and value then -- This code was checked on xset 1.2.3 if os.execute("[ `xset q | sed -n '/^DPMS/,${/^ DPMS/s/^ DPMS is //p}'` == Enabled ]") == 0 then dpms_mod = true else dpms_mod = false end end end mp.observe_property("vo-configured", "bool", on_property_change) local function dpms_mod_stop(event) if dpms_mod then os.execute("xset +dpms") end end mp.register_event("shutdown", dpms_mod_stop) local function dpms_on_play(event) if dpms_mod then os.execute("xset -dpms") end end mp.register_event("playback-restart", dpms_on_play) local function dpms_on_pause(name, value) if dpms_mod then if value then os.execute("xset +dpms") else os.execute("xset -dpms") end end end mp.observe_property("pause", "bool", dpms_on_pause)