Hi and thanks a lot for Vim!
Vim 8.1 does not support yanking and pasting to the system clipboard when run on Wayland (using Sway, for example).
There are workarounds like adding this to .vimrc:
xnoremap "+y y:call system("wl-copy", @")<cr>
nnoremap "+p :let @"=substitute(system("wl-paste --no-newline"), '<C-v><C-m>', '', 'g')<cr>p
nnoremap "*p :let @"=substitute(system("wl-paste --no-newline --primary"), '<C-v><C-m>', '', 'g')<cr>p
This requires wl-clipboard to be installed.
Are there any plans to have clipboard support built into Vim?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or unsubscribe.![]()
I suppose this is part of #4727
I am not aware of anybody working on this, but a patch would be very much appreciated.
I'd love to see Vim support this natively, but in the interim I wrote I little plugin to make the + register work with wl-clipboard. It's inspired by the workaround the OP suggested but also works with motions/counts. I had a hard time finding any good solutions online, so I thought I'd share mine.
https://github.com/jasonccox/vim-wayland-clipboard
I had a hard time finding any good solutions online, so I thought I'd share mine.
Nice work done there Mr. Jason, but I prefer kana/vim-fakeclip#32 since it supports i_CTRL-R + as well. --There are probably not many vim users who use this feature in command mode and insert mode though. Can I ask your opinion on i_CTRL-R support?
Can I ask your opinion on i_CTRL-R support?
I wasn't even aware of this feature until you mentioned it! I'm happy to support it though -- check out this PR: jasonccox/vim-wayland-clipboard#3
Hi all,
I'm quite confused as how to use this...
wl-clipboard is installed, vim restart (incl. whole pc), xnoremap "+y y:call system("wl-copy", @")<cr> added to .vimrc
Open my test document, select row with V then type "+y.
Open browser and "paste" the contents with ctrl+v, completely unrelated text is pasted and not what was selected with V.
What am I doing wrong or overlooking?
thanks in advance
—
Reply to this email directly, view it on GitHub.
Triage notifications on the go with GitHub Mobile for iOS or Android.
You are receiving this because you are subscribed to this thread.![]()
Does wl-copy work outside Vim?
Assuming it can read a shell pipe, what happens if you run this shell command:
$ echo 'some text' | wl-copy
Can you paste some text in your browser?
—
Reply to this email directly, view it on GitHub.
Triage notifications on the go with GitHub Mobile for iOS or Android.
You are receiving this because you are subscribed to this thread.![]()
Yes, some text is pasted with ctrl + v
—
Reply to this email directly, view it on GitHub.
Triage notifications on the go with GitHub Mobile for iOS or Android.
You are receiving this because you are subscribed to this thread.![]()
What's the output of this Ex command in Vim:
:4verbose call system('wl-copy', 'some text')
It should print the actual shell command run by Vim.
For example, on my machine, for xsel(1x):
:4verbose call system('xsel -ib', 'some text')
The output is:
Calling shell to execute: "(xsel -ib) < /tmp/vmlk6qF/6>/tmp/vmlk6qF/7 2>&1"
Also, does the previous call to system() from Vim work? That is, does it write some text in the OS clipboard?
Make sure to clear the clipboard before doing any test.
—
Reply to this email directly, view it on GitHub.
Triage notifications on the go with GitHub Mobile for iOS or Android.
You are receiving this because you are subscribed to this thread.![]()
Bram Moolenaar wrote:
Thanks for providing a workaround. We should really have native support. Anybody up for that? Perhaps the wl-clipboard code can be used as an example.
For reference, I created a project called Neoclip. This is a multi-platform (including Wayland) shared library to access clipboard for Neovim. As it implements Neovim/Lua specific interface, it is likely unusable as is, but the core could be adapted for Vim.
There are two points though
zwlr_data_control_unstable_v1 protocol supported. Notably, Gnome does not (and, probably, will not) have it, so the Gnome clipboard could be accessed only through X11/XWayland.—
Reply to this email directly, view it on GitHub.
Triage notifications on the go with GitHub Mobile for iOS or Android.
You are receiving this because you are subscribed to this thread.![]()
@lacygoill I'm having the same issues as @realSConway.I tried following your suggestions in your last comment and indeed I get 'some text' in my clipboard after issuing that command. Yet the keybindings given by @mb720 and @jasonccox's plugin do not work for me. I can see that my vim is complied with +clipboard and +xterm-clipboard. I'm unsure of what the problem could be =/
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.![]()
you may want to check out this PR: #9639
—
Reply to this email directly, view it on GitHub.
You are receiving this because you are subscribed to this thread.![]()
I'm unsure of what the problem could be =/
I don't remember the issue well enough, and nobody gave answers to the last questions, so let's try again.
Does this work in the shell:
$ echo 'some text' | wl-copy
Which of these commands work in Vim (if any):
:! echo 'some text' | wl-copy
:call system('wl-copy', 'some text')
What is the output of this Ex command:
:4 verbose call system('wl-copy', 'some text')
Alternatively, try to get a log:
$ vim --log /tmp/logfile +"call system('wl-copy', 'some text')" +quitall
--log requires the patch 8.2.4742.
—
Reply to this email directly, view it on GitHub.
You are receiving this because you are subscribed to this thread.![]()
@chrisbra Exciting! Hopefully it can be merged soon.
@lacygoill Thank you for willing to help troubleshoot this!
vim-huge 8.2.4969Does this work in the shell:
$ echo 'some text' | wl-copy
Yes, this executes succesfully in the shell
Which of these commands work in Vim (if any):
:! echo 'some text' | wl-copy :call system('wl-copy', 'some text')
Both of these commands work.
What is the output of this Ex command:
:4 verbose call system('wl-copy', 'some text')
This command outputs: Calling shell to execute: "(wl-copy) < /tmp/vF21Gyv/1>/tmp/vF21Gyv/2 2>&1"
Alternatively, try to get a log:
$ vim --log /tmp/logfile +"call system('wl-copy', 'some text')" +quitall
--logrequires the patch 8.2.4742.
Here is the log file: logfile.txt
—
Reply to this email directly, view it on GitHub.
You are receiving this because you are subscribed to this thread.![]()
@chrisbra Exciting! Hopefully it can be merged soon.
You might help making it merged sooner by providing feedback on the pull request post. In case it helps, here is how you can test the patch locally:
$ git clone https://github.com/vim/vim/
$ cd vim/
$ git remote add upstream https://github.com/vim/vim.git
$ git fetch upstream pull/9639/head:wayland
$ git checkout wayland
Then compile from source with the desired options. For example, this is how I do it:
$ ./configure \
--enable-fail-if-missing \
--enable-gui=gtk3 \
--enable-python3interp=dynamic \
--prefix='/usr/local'
$ make
Then, either install the binary with $ make install, or just use it with its full path (it should be at ./src/vim). Maybe try to use it as your default Vim for a few days, and report back any issues. If you don't notice any issue, then it's still valuable feedback.
OS: Void Linux
Terminal: Foot
Shell: zsh
Vim version: vim-huge 8.2.4969
I doubt it will make a difference, but I suggest you make your tests in the xterm terminal and with the bash shell.
Also, make sure to temporarily disable all of your custom configuration. Write the problematic mappings in /tmp/mappings.vim, and start Vim like this:
$ vim -Nu NONE -i NONE -S /tmp/mappings.vim
This command outputs: Calling shell to execute: "(wl-copy) < /tmp/vF21Gyv/1>/tmp/vF21Gyv/2 2>&1"
This looks correct. I have the same kind of message with xsel(1x) and Xorg.
So, this works on your machine:
:call system('wl-copy', 'some text')
What about this mapping:
xnoremap "+y ""y<ScriptCmd>call system('wl-copy', getreg('"', v:true, v:true))<CR>
Does it work? That is, if you visually select a line in a Vim buffer, containing some text, then press "+y, can you paste the yanked text in a different program window?
If it does not, can you get a trace of the wl-copy process? Write this in /tmp/mappings.vim:
vim9script 'some text'->setline(1) xnoremap "+y ""y<ScriptCmd>system('strace --output=/tmp/logfile wl-copy', getreg('"', true, true))<CR>
Then restart Vim, sourcing only this script. Maybe the log will show us some system call which fails while it should not.
—
Reply to this email directly, view it on GitHub.
You are receiving this because you are subscribed to this thread.![]()
OS: Void Linux
Terminal: Foot
Shell: zsh
Vim version: vim-huge 8.2.4969
I have come up with similar approach (use foot terminal in F36): https://github.com/habamax/.vim/blob/master/plugin/wl_clipboard.vim
@lacygoill I believe with with xterm regular vim clipboard would work (due to xwayland). Foot is pure wayland terminal though.
—
Reply to this email directly, view it on GitHub.
You are receiving this because you are subscribed to this thread.![]()
You might help making it merged sooner by providing feedback on the pull request post. In case it helps, here is how you can test the patch locally:
I tried to do this, but it seems running that compiled binary doesn't work quite right; likely from missing compile time flags that my .vimrc uses. I may try again at some point in the future.
I doubt it will make a difference, but I suggest you make your tests in the xterm terminal and with the bash shell.
It did technically make a difference: copying/pasting worked but it is exactly as @habamax said. It's functioning through xwayland which is technically not the correct solution here.
What about this mapping:
xnoremap "+y ""y<ScriptCmd>call system('wl-copy', getreg('"', v:true, v:true))<CR>
This does not work, neither with my config or with a basic mappings.vim :(
If it does not, can you get a trace of the
wl-copyprocess? Write this in/tmp/mappings.vim:vim9script 'some text'->setline(1) xnoremap "+y ""y<ScriptCmd>system('strace --output=/tmp/logfile wl-copy', getreg('"', true, true))<CR>Then restart Vim, sourcing only this script. Maybe the log will show us some system call which fails while it should not.
No log file appears to be generated?
@habamax Thanks for your input! How are you loading that snippet you linked? It doesn't seem to be working for me when I add it to my .vimrc but I suspect I'm doing something wrong here.
—
Reply to this email directly, view it on GitHub.
You are receiving this because you are subscribed to this thread.![]()
@Barbaross93 just put the file into ~/.vim/plugin/wl_clipboard.vim -- it would be automatically loaded on vim startup (all files from ~/.vim/plugin/ directory is auto sourced. Check :h load-plugins help section for this.
Make sure your vim knows about vim9script.
—
Reply to this email directly, view it on GitHub.
You are receiving this because you are subscribed to this thread.![]()
Does the creation of the plugin directory conflict with vim package managers such as Vundle or Plug? Because otherwise I have no idea why it doesn't work for me. I can see $XDG_SESSION_TYPE is defined in my environment so it can't be that.
—
Reply to this email directly, view it on GitHub.
You are receiving this because you are subscribed to this thread.![]()
@Barbaross93 this kind of things is better to try to resolve in some kind of more interactive env, like for example #vim on libera.chat irc.
—
Reply to this email directly, view it on GitHub.
You are receiving this because you are subscribed to this thread.![]()
Thanks to @habamax on IRC, it turns out that I was misreading/misunderstood how all of the bindings people were posting work. I have set clipboard=unnamedplus in my config and kept thinking I could hit y or p. Turns out you have to hit the entire sequence of keys for "+y or "+p. Sorry I didn't ask about this earlier everyone!
—
Reply to this email directly, view it on GitHub.
You are receiving this because you are subscribed to this thread.![]()
@Barbaross93
And I have updated the script to take into account initial clipboard setting.
I could also make it more fancy with OptionSet autocommand but probably it would be overkill.
—
Reply to this email directly, view it on GitHub.
You are receiving this because you are subscribed to this thread.![]()
Alternative approach would be to install vim for X11 (in Fedora package is named vim-X11) and set following in .vimrc:
set clipboard=unnamedplus "Copy text into X11 clipboard too, works with vim-gtk nnoremap y "+y vnoremap y "+y
And run vim as vimx from console.
—
Reply to this email directly, view it on GitHub.
You are receiving this because you are subscribed to this thread.![]()
I am not happy with the solution, because :registers cannot be used with it to preview the clipboards content, but at least it allows me to copy and paste between different applications and Vim instances:
if ($XDG_SESSION_TYPE ==# 'wayland' || ! empty($WAYLAND_DISPLAY)) && !has('nvim') autocmd TextYankPost * call system("wl-copy", get(v:event, 'regcontents')) nnoremap p :silent put =system('wl-paste')<CR> endif
—
Reply to this email directly, view it on GitHub.
You are receiving this because you are subscribed to this thread.![]()
#9639 has been merged as patch v9.1.0064 so closing it
—
Reply to this email directly, view it on GitHub.
You are receiving this because you are subscribed to this thread.![]()
Closed #5157 as completed.
—
Reply to this email directly, view it on GitHub.
You are receiving this because you are subscribed to this thread.![]()
I am using version 9.1.0151 and #9639 does not fix this issue for me.
On X11 I can yank and paste with y and p to and from the shared clipboard, but I don't have this behaviour on Wayland (Sway). (I am using the terminal, not gvim).
vim --version
VIM - Vi IMproved 9.1 (2024 Jan 02, compiled Mar 05 2024 22:43:21)
Included patches: 1-151
Compiled by Arch Linux
Huge version with GTK3 GUI. Features included (+) or not (-):
+acl +file_in_path +mouse_urxvt -tag_any_white
+arabic +find_in_path +mouse_xterm +tcl/dyn
+autocmd +float +multi_byte +termguicolors
+autochdir +folding +multi_lang +terminal
-autoservername -footer -mzscheme +terminfo
+balloon_eval +fork() +netbeans_intg +termresponse
+balloon_eval_term +gettext +num64 +textobjects
+browse -hangul_input +packages +textprop
++builtin_terms +iconv +path_extra +timers
+byte_offset +insert_expand +perl/dyn +title
+channel +ipv6 +persistent_undo +toolbar
+cindent +job +popupwin +user_commands
+clientserver +jumplist +postscript +vartabs
+clipboard +keymap +printer +vertsplit
+cmdline_compl +lambda +profile +vim9script
+cmdline_hist +langmap -python +viminfo
+cmdline_info +libcall +python3/dyn +virtualedit
+comments +linebreak +quickfix +visual
+conceal +lispindent +reltime +visualextra
+cryptv +listcmds +rightleft +vreplace
+cscope +localmap +ruby/dyn +wildignore
+cursorbind +lua/dyn +scrollbind +wildmenu
+cursorshape +menu +signs +windows
+dialog_con_gui +mksession +smartindent +writebackup
+diff +modify_fname -sodium +X11
+digraphs +mouse +sound +xattr
+dnd +mouseshape +spell -xfontset
-ebcdic +mouse_dec +startuptime +xim
+emacs_tags +mouse_gpm +statusline -xpm
+eval -mouse_jsbterm -sun_workshop +xsmp_interact
+ex_extra +mouse_netterm +syntax +xterm_clipboard
+extra_search +mouse_sgr +tag_binary -xterm_save
-farsi -mouse_sysmouse -tag_old_static
system vimrc file: "/etc/vimrc"
user vimrc file: "$HOME/.vimrc"
2nd user vimrc file: "~/.vim/vimrc"
user exrc file: "$HOME/.exrc"
system gvimrc file: "/etc/gvimrc"
user gvimrc file: "$HOME/.gvimrc"
2nd user gvimrc file: "~/.vim/gvimrc"
defaults file: "$VIMRUNTIME/defaults.vim"
system menu file: "$VIMRUNTIME/menu.vim"
fall-back for $VIM: "/usr/share/vim"
Compilation: gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK -I/usr/include/gtk-3.0 -I/usr/include/pango-1.0 -I/usr/include/cairo -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/atk-1.0 -I/usr/include/freetype2 -I/usr/include/harfbuzz -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/cloudproviders -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include -I/usr/include/fribidi -I/usr/include/pixman-1 -I/usr/include/libpng16 -I/usr/include/gio-unix-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/sysprof-6 -pthread -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -g -ffile-prefix-map=/build/vim/src=/usr/src/debug/vim -flto=auto -D_REENTRANT -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1
Linking: gcc -Wl,-E -Wl,-rpath,/usr/lib/perl5/5.38/core_perl/CORE -Wl,-O1 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,-z,pack-relative-relocs -flto=auto -L/usr/local/lib -o vim -lgtk-3 -lgdk-3 -lz -lpangocairo-1.0 -lpango-1.0 -lharfbuzz -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0 -lSM -lICE -lXt -lX11 -lXdmcp -lSM -lICE -lm -ltinfo -lelf -lcanberra -lacl -lattr -lgpm -L/usr/lib -ltclstub8.6 -ldl -lz -lpthread -lm
—
Reply to this email directly, view it on GitHub.
You are receiving this because you are subscribed to this thread.![]()
Did you mean "+y / "+p?
—
Reply to this email directly, view it on GitHub.
You are receiving this because you are subscribed to this thread.![]()
No, although I tested this with all permutations of clipboard=unnamed, clipboard-unnamedplus, y, "+y. In any case, I use y and p in Vim on X11 (and Neovim on Wayland) and can't do this in Vim on Wayland.
—
Reply to this email directly, view it on GitHub.
You are receiving this because you are subscribed to this thread.![]()
There is no support for wayland-native terminal clipboard yet.
—
Reply to this email directly, view it on GitHub.
You are receiving this because you are subscribed to this thread.![]()
Should this issue be reopened then?
—
Reply to this email directly, view it on GitHub.
You are receiving this because you are subscribed to this thread.![]()
Reopened #5157.
—
Reply to this email directly, view it on GitHub.
You are receiving this because you are subscribed to this thread.![]()
Also not working on my side. Here is my solution until it's fixed:
set clipboard=unnamed,unnamedplus
augroup wl-clipboard
autocmd!
autocmd FocusLost * :call system('wl-copy', @+)
autocmd FocusGained * :let @+ = system('wl-paste')
augroup END
—
Reply to this email directly, view it on GitHub.
You are receiving this because you are subscribed to this thread.![]()
Can confirm-- not working for me on a freshly-updated Arch install with the default repos
—
Reply to this email directly, view it on GitHub.
You are receiving this because you are subscribed to this thread.![]()
Also not working on my side. Here is my solution until it's fixed:
set clipboard=unnamed,unnamedplus augroup wl-clipboard autocmd! autocmd FocusLost * :call system('wl-copy --trim-newline', @+) autocmd FocusGained * :let @+ = system('wl-paste -n') augroup END
Ah need to somehow make this to work with lua.
—
Reply to this email directly, view it on GitHub.
You are receiving this because you are subscribed to this thread.![]()
@thepenguinthatwants lua? May i ask why do you need lua?
—
Reply to this email directly, view it on GitHub.
You are receiving this because you are subscribed to this thread.![]()
I have also find out that is not working on my arch system running swayWM
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.![]()
If anyone really wants wayland clipboard support, I have a WIP branch that add supports for the zwlr-data-control protocol here. Stuff is messy but pasting and copying works for me on KDE plasma 6, I plan on adding ext-data-control support later on too. Hope this helps 😅
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.![]()
If anyone really wants wayland clipboard support, I have a WIP branch that add supports for the zwlr-data-control protocol here. Stuff is messy but pasting and copying works for me on KDE plasma 6, I plan on adding ext-data-control support later on too. Hope this helps 😅
Would be great to have proper/better support for clipboard in pure wayland environments!
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.![]()
Would be great to have proper/better support for clipboard in pure wayland environments!
However, this wouldn't work in GNOME, right?
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.![]()
@habamax Yes it wouldn't work in gnome unfortunately. From my knowledge, using the core protocol only allows focused windows to access the clipboard, which terminal vim obviously doesn't have a window. Wl-clipboard works around this by creating an invisible window I believe?? I think that is too hacky for vim though.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.![]()
@64-bitman your patch works for me, thanks! However you didn't generate the protocol code, and enabled ASAN (which slowed Vim down).
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.![]()
Non-GUI version fails to build.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.![]()
@64-bitman your patch works for me, thanks! However you didn't generate the protocol code, and enabled ASAN (which slowed Vim down).
Yes I know. I plan on doing build/compile stuff later on. I'll remove the debug makefile when I make a PR.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.![]()
Non-GUI version fails to build.
Can you show the error message?
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.![]()
Non-GUI version fails to build.
Can you show the error message?
Not now, but I've made a dirty patch: lilydjwg@3172d8b.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.![]()
Non-GUI version fails to build.
Can you show the error message?
Not now, but I've made a dirty patch: lilydjwg@3172d8b.
And this my configure:
./configure --prefix=/usr --localstatedir=/var/lib/vim --mandir=/usr/share/man \ --enable-acl --enable-cscope --enable-luainterp=dynamic --enable-multibyte --enable-python3interp=dynamic \ --enable-rubyinterp=dynamic --enable-terminal --with-features=huge --with-luajit --disable-icon-cache-update \ --disable-desktop-database-update --without-x --disable-canberra --disable-gui --disable-xsmp \ --enable-fail-if-missing
Thanks, I probably just have the feature macro flags messed up in the code, I try fixing that later.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.![]()
@lilydjwg Should be fixed in latest commit.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.![]()
Yes it's fixed.
I found another problem:
I have clipboard=autoselect, but the visual selection can't be pasted into another application (it's empty) until I paste it in the same Vim instance.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.![]()
Yes it's fixed.
I found another problem:
I have
clipboard=autoselect, but the visual selection can't be pasted into another application (it's empty) until I paste it in the same Vim instance.
Thanks, I'll look into that.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.![]()
@lilydjwg Should be fixed now.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.![]()
@64-bitman how should a non-GUI version that doesn't link to libwayland-client.so be built?
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.![]()
@64-bitman how should a non-GUI version that doesn't link to libwayland-client.so be built?
Run ./configure with --with-wayland=no
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.![]()
Thanks! It works, and the previous bug has been fixed.
However, I get some errors when compiling a non-GUI version, and here's the patch: lilydjwg@ce6b2a9.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.![]()
Thanks! It works, and the previous bug has been fixed.
However, I get some errors when compiling a non-GUI version, and here's the patch: lilydjwg@ce6b2a9.
Thanks, note that the clipboard on the GUI right now is pretty broken, I'm in the process of fixing that.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.![]()
Closed #5157 as completed via b90c239.
—
Reply to this email directly, view it on GitHub.
You are receiving this because you are subscribed to this thread.![]()
Hi!
first of all thank you very much for your effort on that feature! It's very much awaited.
I've just tried out the latest vim version: with no luck. I'm on hyprland (wlroots, actually aquamarine).
$ wlprobe | grep -E '(ext_data_control|zwlr_data_control)'
"interface": "zwlr_data_control_manager_v1",
I'm getting this warning directly at the start.
W23: Clipboard register not available, using register 0
I also tried to set wlsteal with no luck.
Any thoughts?
Best regards
Version + flags vimrc `vim --noplugin -u wayland.vimrc`wayland.vimrc:
set nocompatible
set clipmethod=wayland
set clipboard=unnamedplus
—
Reply to this email directly, view it on GitHub.
You are receiving this because you are subscribed to this thread.![]()
Hi!
first of all thank you very much for your effort on that feature! It's very much awaited.
I've just tried out the latest vim version: with no luck. I'm on hyprland (wlroots, actually aquamarine).
$ wlprobe | grep -E '(ext_data_control|zwlr_data_control)' "interface": "zwlr_data_control_manager_v1",I'm getting this warning directly at the start.
W23: Clipboard register not available, using register 0I also tried to
set wlstealwith no luck.Any thoughts?
Best regards
Version + flags vimrc `vim --noplugin -u wayland.vimrc`wayland.vimrc:
set nocompatible set clipmethod=wayland set clipboard=unnamedplus
Can you run Vim with $WAYLAND_DEBUG=1 (redirect stderr to a file too), and post the results? Thanks.
—
Reply to this email directly, view it on GitHub.
You are receiving this because you are subscribed to this thread.![]()
Can you run Vim with $WAYLAND_DEBUG=1 (redirect stderr to a file too), and post the results? Thanks.
Here you are:
logs[1946117.818] {Default Queue} -> wl_display#1.get_registry(new id wl_registry#2)
[1946117.859] {Default Queue} -> wl_display#1.sync(new id wl_callback#3)
[1946118.073] {Display Queue} wl_display#1.delete_id(3)
[1946118.122] {Default Queue} wl_registry#2.global(1, "wl_seat", 9)
[1946118.139] {Default Queue} -> wl_registry#2.bind(1, "wl_seat", 9, new id [unknown]#4)
[1946118.153] {Default Queue} -> wl_display#1.sync(new id wl_callback#5)
[1946118.168] {Default Queue} wl_registry#2.global(2, "wl_data_device_manager", 3)
[1946118.179] {Default Queue} -> wl_registry#2.bind(2, "wl_data_device_manager", 3, new id [unknown]#6)
[1946118.187] {Default Queue} wl_registry#2.global(3, "wl_compositor", 6)
[1946118.195] {Default Queue} -> wl_registry#2.bind(3, "wl_compositor", 6, new id [unknown]#7)
[1946118.203] {Default Queue} wl_registry#2.global(4, "wl_subcompositor", 1)
[1946118.211] {Default Queue} wl_registry#2.global(5, "wl_shm", 1)
[1946118.218] {Default Queue} -> wl_registry#2.bind(5, "wl_shm", 1, new id [unknown]#8)
[1946118.226] {Default Queue} wl_registry#2.global(6, "wp_viewporter", 1)
[1946118.247] {Default Queue} wl_registry#2.global(7, "wp_tearing_control_manager_v1", 1)
[1946118.260] {Default Queue} wl_registry#2.global(8, "wp_fractional_scale_manager_v1", 1)
[1946118.267] {Default Queue} wl_registry#2.global(9, "zxdg_output_manager_v1", 3)
[1946118.275] {Default Queue} wl_registry#2.global(10, "wp_cursor_shape_manager_v1", 1)
[1946118.282] {Default Queue} wl_registry#2.global(11, "zwp_idle_inhibit_manager_v1", 1)
[1946118.289] {Default Queue} wl_registry#2.global(12, "zwp_relative_pointer_manager_v1", 1)
[1946118.307] {Default Queue} wl_registry#2.global(13, "zxdg_decoration_manager_v1", 1)
[1946118.318] {Default Queue} wl_registry#2.global(14, "wp_alpha_modifier_v1", 1)
[1946118.326] {Default Queue} wl_registry#2.global(15, "zwlr_gamma_control_manager_v1", 1)
[1946118.334] {Default Queue} wl_registry#2.global(16, "ext_foreign_toplevel_list_v1", 1)
[1946118.341] {Default Queue} wl_registry#2.global(17, "zwp_pointer_gestures_v1", 3)
[1946118.348] {Default Queue} wl_registry#2.global(18, "zwlr_foreign_toplevel_manager_v1", 3)
[1946118.365] {Default Queue} wl_registry#2.global(19, "zwp_keyboard_shortcuts_inhibit_manager_v1", 1)
[1946118.377] {Default Queue} wl_registry#2.global(20, "zwp_text_input_manager_v1", 1)
[1946118.388] {Default Queue} wl_registry#2.global(21, "zwp_text_input_manager_v3", 1)
[1946118.396] {Default Queue} wl_registry#2.global(22, "zwp_pointer_constraints_v1", 1)
[1946118.403] {Default Queue} wl_registry#2.global(23, "zwlr_output_power_manager_v1", 1)
[1946118.415] {Default Queue} wl_registry#2.global(24, "xdg_activation_v1", 1)
[1946118.430] {Default Queue} wl_registry#2.global(25, "ext_idle_notifier_v1", 2)
[1946118.441] {Default Queue} wl_registry#2.global(26, "hyprland_lock_notifier_v1", 1)
[1946118.448] {Default Queue} wl_registry#2.global(27, "ext_session_lock_manager_v1", 1)
[1946118.455] {Default Queue} wl_registry#2.global(28, "zwp_input_method_manager_v2", 1)
[1946118.463] {Default Queue} wl_registry#2.global(29, "zwp_virtual_keyboard_manager_v1", 1)
[1946118.471] {Default Queue} wl_registry#2.global(30, "zwlr_virtual_pointer_manager_v1", 2)
[1946118.483] {Default Queue} wl_registry#2.global(31, "zwlr_output_manager_v1", 4)
[1946118.497] {Default Queue} wl_registry#2.global(32, "org_kde_kwin_server_decoration_manager", 1)
[1946118.509] {Default Queue} wl_registry#2.global(33, "hyprland_focus_grab_manager_v1", 1)
[1946118.515] {Default Queue} wl_registry#2.global(34, "zwp_tablet_manager_v2", 1)
[1946118.523] {Default Queue} wl_registry#2.global(35, "zwlr_layer_shell_v1", 5)
[1946118.530] {Default Queue} wl_registry#2.global(36, "wp_presentation", 1)
[1946118.542] {Default Queue} wl_registry#2.global(37, "xdg_wm_base", 7)
[1946118.557] {Default Queue} -> wl_registry#2.bind(37, "xdg_wm_base", 7, new id [unknown]#9)
[1946118.568] {Default Queue} wl_registry#2.global(38, "zwlr_data_control_manager_v1", 2)
[1946118.575] {Default Queue} -> wl_registry#2.bind(38, "zwlr_data_control_manager_v1", 2, new id [unknown]#10)
[1946118.599] {Default Queue} wl_registry#2.global(39, "zwp_primary_selection_device_manager_v1", 1)
[1946118.612] {Default Queue} -> wl_registry#2.bind(39, "zwp_primary_selection_device_manager_v1", 1, new id [unknown]#11)
[1946118.620] {Default Queue} wl_registry#2.global(40, "xwayland_shell_v1", 1)
[1946118.627] {Default Queue} wl_registry#2.global(41, "zwlr_screencopy_manager_v1", 3)
[1946118.635] {Default Queue} wl_registry#2.global(42, "hyprland_toplevel_export_manager_v1", 2)
[1946118.642] {Default Queue} wl_registry#2.global(43, "hyprland_toplevel_mapping_manager_v1", 1)
[1946118.659] {Default Queue} wl_registry#2.global(44, "hyprland_global_shortcuts_manager_v1", 1)
[1946118.671] {Default Queue} wl_registry#2.global(45, "xdg_wm_dialog_v1", 1)
[1946118.679] {Default Queue} wl_registry#2.global(46, "wp_single_pixel_buffer_manager_v1", 1)
[1946118.686] {Default Queue} wl_registry#2.global(47, "wp_security_context_manager_v1", 1)
[1946118.693] {Default Queue} wl_registry#2.global(48, "hyprland_ctm_control_manager_v1", 2)
[1946118.710] {Default Queue} wl_registry#2.global(49, "hyprland_surface_manager_v1", 2)
[1946118.721] {Default Queue} wl_registry#2.global(50, "wp_content_type_manager_v1", 1)
[1946118.728] {Default Queue} wl_registry#2.global(51, "xdg_toplevel_tag_manager_v1", 1)
[1946118.735] {Default Queue} wl_registry#2.global(52, "xdg_system_bell_v1", 1)
[1946118.743] {Default Queue} wl_registry#2.global(53, "wp_color_manager_v1", 1)
[1946118.750] {Default Queue} wl_registry#2.global(54, "wp_drm_lease_device_v1", 1)
[1946118.766] {Default Queue} wl_registry#2.global(55, "wp_linux_drm_syncobj_manager_v1", 1)
[1946118.778] {Default Queue} wl_registry#2.global(56, "wl_drm", 2)
[1946118.796] {Default Queue} wl_registry#2.global(57, "zwp_linux_dmabuf_v1", 5)
[1946118.804] {Default Queue} wl_registry#2.global(58, "wl_output", 4)
[1946118.815] {Default Queue} wl_callback#3.done(488968)
[1946119.051] {Display Queue} wl_display#1.delete_id(5)
[1946119.109] {Default Queue} wl_seat#4.name("Hyprland")
[1946119.121] {Default Queue} wl_seat#4.capabilities(3)
[1946119.129] {Default Queue} wl_callback#5.done(488968)
[1946119.138] {Default Queue} discarded wl_shm#8.format(0)
[1946119.146] {Default Queue} discarded wl_shm#8.format(1)
[1946119.153] {Default Queue} discarded wl_shm#8.format(875709016)
[1946119.161] {Default Queue} discarded wl_shm#8.format(875708993)
[1946119.168] {Default Queue} discarded wl_shm#8.format(808669784)
[1946119.176] {Default Queue} discarded wl_shm#8.format(808669761)
[1946119.182] {Default Queue} discarded wl_shm#8.format(808665688)
[1946119.189] {Default Queue} discarded wl_shm#8.format(808665665)
[1946119.198] {Default Queue} -> xdg_wm_base#9.destroy()
[1946119.221] {Default Queue} -> wl_display#1.sync(new id wl_callback#5)
[1946119.329] {Display Queue} wl_display#1.delete_id(9)
[1946119.352] {Display Queue} wl_display#1.delete_id(5)
[1946119.359] {Default Queue} wl_callback#5.done(488968)
—
Reply to this email directly, view it on GitHub.
You are receiving this because you are subscribed to this thread.![]()
Can you run Vim with $WAYLAND_DEBUG=1 (redirect stderr to a file too), and post the results? Thanks.
Here you are:
WAYLAND_DEBUG=1 vim --noplugin -u wayland.vimrc 2> wayland_err.lo
Can you also show the value of $XDG_SEAT? Thanks
—
Reply to this email directly, view it on GitHub.
You are receiving this because you are subscribed to this thread.![]()
Can you also show the value of $XDG_SEAT? Thanks
sure:
$ echo $XDG_SEAT
seat0
—
Reply to this email directly, view it on GitHub.
You are receiving this because you are subscribed to this thread.![]()
Yeah for some reason XDG_SEAT isnt matching the actual seat name on your hyprland session, this PR should fix it #17624
—
Reply to this email directly, view it on GitHub.
You are receiving this because you are subscribed to this thread.![]()
$XDG_SEAT shouldn't be used in the first place actually, this is the PR now :P #17625
The fix works! Just tested.
Thank you very much!
—
Reply to this email directly, view it on GitHub.
You are receiving this because you are subscribed to this thread.![]()