summaryrefslogtreecommitdiffstats
path: root/.config/mpv/scripts/turn-off-dpms.lua
diff options
context:
space:
mode:
Diffstat (limited to '.config/mpv/scripts/turn-off-dpms.lua')
-rw-r--r--.config/mpv/scripts/turn-off-dpms.lua45
1 files changed, 45 insertions, 0 deletions
diff --git a/.config/mpv/scripts/turn-off-dpms.lua b/.config/mpv/scripts/turn-off-dpms.lua
new file mode 100644
index 0000000..d20a99e
--- /dev/null
+++ b/.config/mpv/scripts/turn-off-dpms.lua
@@ -0,0 +1,45 @@
+-- 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)