Home

Awesome

mpv-clipboard

Provides generic but powerful low-level clipboard commands for users and script writers.

Requires powershell on Windows,pbcopy/pbpaste on MacOS, xclip on X11, and wl-copy/wl-paste on Wayland.

Script Messages

set-clipboard

script-message set-clipboard <text>

A script message that can be set in input.conf to copy the given text into the clipboard. Can be combined with property expansion to copy any mpv property.

For example to copy the path of the current file with Ctrl+c:

Ctrl+c script-message set-clipboard ${path}

get-clipboard

script-message get-clipboard <response-string>

Sends the contents of the clipboard to the given script-message. This can be used by other scripts to request the contents of the clipboard. The other script should register a script-message with the same name as the response-string to receive the clipboard contents.

Additional arguments may be introduced in the future.

clipboard-command

script-message clipboard-command <command> <arg1> <arg2> ...

Allows one to use the contents of the clipboard in a command. If the command or arg strings contain the substring %clip% then it will be substituted for the contents of the clipboard.

For example to tell mpv to play the contents of the clipboard:

Ctrl+v script-message clipboard-command loadfile %clip%

The % character will act as an escape character; %%clip% will evaluate to %clip%. Any %% will be substituted for %, so you may need to use additional % characters if you actually want multiple in a row.

By default these commands behave asynchronously, meaning if you send multiple commands at the same time there no guarantee that the first will be run before the second:

Ctrl+t script-message clipboard-command print-text 1 ; script-message clipboard-command print-text 2

To handle this you can set the first input command prefix to sync, that will ensure that the commands are run in order. Note that all of the usual sync vs async rules still apply. This behaviour may be moved to a separate script-message in te future.

Credits

The code to get text from the clipboard comes from mpv's console.lua.

The code to set the clipboard text on Unix systems was based on mpv-copyTime.