From d032ee43893eb04ec752354167bd262cf8430b5b Mon Sep 17 00:00:00 2001 From: Anton Khirnov Date: Tue, 16 Nov 2021 08:58:21 +0100 Subject: mpv: add a script for disabling xscreensaver during video playback --- desktop.conf.yaml | 2 ++ mpv/xscreensaver.lua | 24 ++++++++++++++++++++++++ 2 files changed, 26 insertions(+) create mode 100644 mpv/xscreensaver.lua diff --git a/desktop.conf.yaml b/desktop.conf.yaml index 292e8c6..e7242c2 100644 --- a/desktop.conf.yaml +++ b/desktop.conf.yaml @@ -1,9 +1,11 @@ - create: - ~/.config/mpv + - ~/.config/mpv/scripts - ~/.urxvt/ext - link: ~/.config/mpv/config: dotfiles/mpv + ~/.config/mpv/scripts/xscreensaver.lua: mpv/xscreensaver.lua ~/.local/bin/brightness_monitor: bin/brightness_monitor ~/.local/bin/randr_output_toggle: bin/randr_output_toggle ~/.local/bin/ssh_sk_clean: bin/ssh_sk_clean diff --git a/mpv/xscreensaver.lua b/mpv/xscreensaver.lua new file mode 100644 index 0000000..4fbb41c --- /dev/null +++ b/mpv/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 -- cgit v1.2.3