summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGuido Cella <guido@guidocella.xyz>2020-12-14 20:18:55 +0100
committerDudemanguy <random342@airmail.cc>2020-12-14 22:43:34 +0000
commit7ca14d646c7e405f3fb1e44600e2a67fc4607238 (patch)
treea2573588b6a5de87877c8bbf6a7162f0329023a8
parentbff5416daebcede8ba704f87c3b569f24fefcf3e (diff)
downloadmpv-7ca14d646c7e405f3fb1e44600e2a67fc4607238.tar.bz2
mpv-7ca14d646c7e405f3fb1e44600e2a67fc4607238.tar.xz
console: use wl-paste on Wayland
-rw-r--r--DOCS/man/console.rst4
-rw-r--r--player/lua/console.lua12
2 files changed, 13 insertions, 3 deletions
diff --git a/DOCS/man/console.rst b/DOCS/man/console.rst
index e9a829cbc4..22725a3134 100644
--- a/DOCS/man/console.rst
+++ b/DOCS/man/console.rst
@@ -36,7 +36,7 @@ INSERT
Toggle insert mode.
Shift+INSERT
- Paste text (uses the primary selection on X11).
+ Paste text (uses the primary selection on X11 and Wayland).
TAB
Complete the command or property name at the cursor.
@@ -54,7 +54,7 @@ Ctrl+U
Delete text from the cursor to the beginning of the line.
Ctrl+V
- Paste text (uses the clipboard on X11).
+ Paste text (uses the clipboard on X11 and Wayland).
Ctrl+W
Delete text from the cursor to the beginning of the current word.
diff --git a/player/lua/console.lua b/player/lua/console.lua
index a483bbe1f4..2020952840 100644
--- a/player/lua/console.lua
+++ b/player/lua/console.lua
@@ -36,6 +36,8 @@ function detect_platform()
return 'windows'
elseif mp.get_property_native('options/macos-force-dedicated-gpu', o) ~= o then
return 'macos'
+ elseif os.getenv('WAYLAND_DISPLAY') then
+ return 'wayland'
end
return 'x11'
end
@@ -609,6 +611,14 @@ function get_clipboard(clip)
if not res.error then
return res.stdout
end
+ elseif platform == 'wayland' then
+ local res = utils.subprocess({
+ args = { 'wl-paste', clip and '-n' or '-np' },
+ playback_only = false,
+ })
+ if not res.error then
+ return res.stdout
+ end
elseif platform == 'windows' then
local res = utils.subprocess({
args = { 'powershell', '-NoProfile', '-Command', [[& {
@@ -647,7 +657,7 @@ function get_clipboard(clip)
end
-- Paste text from the window-system's clipboard. 'clip' determines whether the
--- clipboard or the primary selection buffer is used (on X11 only.)
+-- clipboard or the primary selection buffer is used (on X11 and Wayland only.)
function paste(clip)
local text = get_clipboard(clip)
local before_cur = line:sub(1, cursor - 1)