summaryrefslogtreecommitdiff
path: root/mpv/xscreensaver.lua
blob: 4fbb41c81519b8a644ef510e35524eec194b3820 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
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