arch-setup/templates/mpv/clipboard.lua.j2

28 lines
865 B
Django/Jinja

-- {{ ansible_managed }}
-- Note that the mp global is injected by mpv when the script is ran.
local utils = require 'mp.utils'
local function paste_from_clipboard(command)
local res = utils.subprocess({ args = { 'wl-paste', '--no-newline' } })
if res.status == 0 and res.stdout then
local url = res.stdout:gsub("^%s*(.-)%s*$", "%1") -- trim whitespace
if url ~= "" then
mp.commandv("loadfile", url, command)
mp.osd_message("Processed: " .. url)
end
end
end
local function append_from_clipboard()
paste_from_clipboard("append")
end
local function replace_from_clipboard()
paste_from_clipboard("replace")
end
-- TODO: add keybinding that works with idle screen
mp.add_key_binding("Shift+MBTN_RIGHT", "append_clipboard", append_from_clipboard)
mp.add_key_binding("Shift+MBTN_LEFT", "replace_clipboard", replace_from_clipboard)