summary refs log tree commit diff
path: root/.config/mpv/scripts/yanky.lua
blob: be9d3087f219310a7515079d710abbd32c8bee55 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
local mp = require("mp")

function yank(payload)
	mp.commandv("run", "wl-copy", payload)
	mp.msg.info("yanked: " .. payload)
	mp.osd_message("yanked: " .. payload)
end

function yankproperty(prop)
	yank(mp.get_property_native(prop))
end

function yankpath()
	local path = mp.get_property_native("path")
	if path ~= "^http" then
		yank(path)
		return
	end
	local cwd = mp.get_property_native("working-directory")
	yank(require("mp.utils").join_path(cwd, path))
end

function yanktime()
	local s = mp.get_property_native("playback-time")
	local ts = string.format("%.2d:%.2d:%.2d.%.3d", s / (60 * 60), s / 60 % 60, s % 60, (s % 1) * 1000)
	yank(ts)
end

function yanksubs()
	local subText = mp.get_property("sub-text")
	-- local secondarySubText = mp.get_property("secondary-sub-text")
	yank(subText)
end

mp.add_key_binding("y-t", "yanktime", yanktime)
mp.add_key_binding("y-p", "yankpath", yankpath)
mp.add_key_binding("y-s", "yanksubs", yanksubs)