summaryrefslogtreecommitdiff
path: root/mac/.config/mpv/scripts/xscreensaver.lua
diff options
context:
space:
mode:
Diffstat (limited to 'mac/.config/mpv/scripts/xscreensaver.lua')
-rw-r--r--mac/.config/mpv/scripts/xscreensaver.lua24
1 files changed, 24 insertions, 0 deletions
diff --git a/mac/.config/mpv/scripts/xscreensaver.lua b/mac/.config/mpv/scripts/xscreensaver.lua
new file mode 100644
index 0000000..a54b944
--- /dev/null
+++ b/mac/.config/mpv/scripts/xscreensaver.lua
@@ -0,0 +1,24 @@
+-- this script periodically deactivates xscreensaver
+-- when video playback is active
+
+local function heartbeat()
+ if
+ mp.get_property_native("pause")
+ or mp.get_property_native("idle")
+ or not mp.get_property_native("vo-configured")
+ then
+ return
+ end
+
+ mp.command_native_async({
+ name = "subprocess",
+ args = { "xscreensaver-command", "-deactivate" },
+ capture_stdout = true,
+ }, function() end)
+end
+
+mp.add_periodic_timer(60, heartbeat)
+
+for _, prop in ipairs({ "pause", "idle", "vo-configured" }) do
+ mp.observe_property(prop, nil, heartbeat)
+end