MPV script that deactivates XScreensaver when video playback is active

November 16, 2021 ยท View on GitHub

-- 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