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)