pazz / alot

Terminal-based Mail User Agent
GNU General Public License v3.0
697 stars 165 forks source link

Clipboard alot/vim-X does not work #1576

Closed robert-winkler closed 3 years ago

robert-winkler commented 3 years ago

Hi, usually I exchange data between vim and X applications through the “+ register. However, when writing mails in alot with vim as editor, this register does not work; neither the mouse copy & paste. Any idea what is happening there?

pazz commented 3 years ago

I'm not 100% familiar with the terminology but can you explain what you do exactly? I usually also copy and paste to vim from X-selection and with shift+insert.. P

lucc commented 3 years ago

@pazz shift+insert should be a terminal feature to insert the current X selection. The vim register + can be used to access (read/write) the X clipboard with vim key bindings (check :help "+ and :help "* for the selection).

@robert-winkler It might be interesting for this how you have configured alot: What are your settings for handle_mouse, terminal_cmd, editor_in_thread and editor_spawn?

Also: Do you copy from or to vim? Or do you select text in the alot interface and try to paste it into vim?

robert-winkler commented 3 years ago

@pazz Strangely, I cannot exchange any data through the default "+ register; :reg does not even list it after 'writing' to it from X.

If I open a second vim, I can copy to the X clipboard, and from there to the second vim buffer/a text file. And from there, I can import the data to the alot vim.

Somehow, the communication between vim and X seems broken, if vim is called from alot.

@lucc Where can I revise those settings? I did not configure them in the config file.

Quoting Lucas Hoffmann (2021-05-12 10:14:45)

@pazz shift+insert should be a terminal feature to insert the current X selection. The vim register + can be used to access (read/write) the X selection with vim key bindings (check :help "+).

@robert-winkler It might be interesting for this how you have configured alot: What are your settings for handle_mouse, terminal_cmd, editor_in_thread and editor_spawn?

Also: Do you copy from or to vim? Or do you select text in the alot interface and try to paste it into vim?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or unsubscribe.*

pazz commented 3 years ago

Quoting Robert Winkler (2021-05-12 22:16:49)

@pazz Strangely, I cannot exchange any data through the default "+ register; :reg does not even list it after 'writing' to it from X.

If I open a second vim, I can copy to the X clipboard, and from there to the second vim buffer/a text file. And from there, I can import the data to the alot vim.

Somehow, the communication between vim and X seems broken, if vim is called from alot.

Sorry, I don't know how to help/debug this. It could be an issue with urwid, which provides alot's UI and event loop.

@lucc Where can I revise those settings? I did not configure them in the config file.

you can set them in ~/.config/alot/config, see here for more details and default values: https://alot.readthedocs.io/en/latest/configuration/config_options.html

Quoting Lucas Hoffmann (2021-05-12 10:14:45)

@pazz shift+insert should be a terminal feature to insert the current X selection. The vim register + can be used to access (read/write) the X selection with vim key bindings (check :help "+).

Thank you! I wasn't aware of this :)

lucc commented 3 years ago

Are you starting a different version of vim from inside alot? Check :version to see if it has +X11 or so enabled.

robert-winkler commented 3 years ago

You are completely right!

Calling the editor in alot, and :version, gives: Huge version without GUI -clipboard -X11 -xterm_clipboard

in the terminal: Huge version with GTK3 GUI +clipboard +X11 +xterm_clipboard

the subversion (8.1, included patches 1-2269), is the same for both.

Thus, I run update-alternatives --config editor

and discovered that /usr/bin/vim.basic was chosen as default editor...

I changed the selection to /usr/bin/vim.gtk3; now everything should work fine.

Thanks a lot, Robert

Quoting Lucas Hoffmann (2021-05-14 07:27:05)

Are you starting a different version of vim from inside alot? Check :version to see if it has +X11 or so enabled.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or unsubscribe.*