diff options
Diffstat (limited to '')
| -rw-r--r-- | .config/mpv/scripts/yanky.lua | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/.config/mpv/scripts/yanky.lua b/.config/mpv/scripts/yanky.lua new file mode 100644 index 0000000..be9d308 --- /dev/null +++ b/.config/mpv/scripts/yanky.lua @@ -0,0 +1,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) |