diff options
Diffstat (limited to '')
| -rw-r--r-- | .config/mpv/scripts/openuri.lua | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/.config/mpv/scripts/openuri.lua b/.config/mpv/scripts/openuri.lua new file mode 100644 index 0000000..61b20e5 --- /dev/null +++ b/.config/mpv/scripts/openuri.lua @@ -0,0 +1,42 @@ +mp = require("mp") +format_json = require("mp.utils").format_json + +function open_uri() + local json = format_json({ + type = "open-uri", + title = "https://mpv.io", + items = { + { + title = "Enter a network url", + align = "left", + value = "ignore", + muted = true, + selectable = false + } + }, + on_search = { "script-message-to", mp.get_script_name(), "openuri-cb" }, + palette = true, + search_style = "palette", + search_debounce = "submit" + }) or "{}" + mp.commandv("script-message-to", "uosc", "open-menu", json) +end + +mp.register_script_message("openuri-cb", function(path) + mp.commandv("script-message-to", "uosc", "close-menu", "openuri") + mp.commandv("loadfile", path, "append-play") +end) + +mp.add_key_binding("ctrl+o", "openuri", open_uri) + +mp.add_key_binding("ctrl+shift+o", "pasteuri", function() + local r = mp.command_native({ + name = "subprocess", + playback_only = false, + capture_stdout = true, + args = { "wl-paste" }, + }) + if r.status == 0 then + mp.commandv("script-message-to", mp.get_script_name(), "openuri-cb", r.stdout) + end +end) |