Copy-paste between urxvt and abiword

clipboardgtkkeyboard shortcutsrxvtx11

Trying to cut + copy + paste from the standard urxvt shell in Puppy Linux Wary 5.3.

If I follow this post and I press:

  • in urxvt: ctrl + insert = copy
  • in abiword: shift + insert = paste

It doesn't work. Please suggest, what's the shortcut? Or the menu command?

Best Answer

For historical reasons, there are two selections¹, with different usage conventions:

  • The PRIMARY selection automatically changes when you highlight some text with the mouse. There is no “copy” command, it's automatic.
  • The CLIPBOARD selection changes only when you issue a “copy” command (keyboard shortcut or icon or menu entry).

Classic X11 applications such as urxvt support PRIMARY only. Modern X11 applications such as anything using Gtk/Gnome or Qt/KDE support CLIPBOARD and often, but not always, PRIMARY. The unfortunate consequence is that you can't directly copy-paste between CLIPBOARD-only applications and PRIMARY-only applications, and you can't easily copy-paste between CLIPBOARD-preferring applications and PRIMARY-only applications.

If you highlight text with the mouse in urxvt, you can paste it in Abiword with the middle mouse button (whereas the keyboard shortcut would paste the CLIPBOARD).

If you need to transfer text between selections, you have several methods:

  • Use a GUI clipboard manager (Autocutsel, XFCE Clipmap, Gnome Glipper, KDE Klipper, Parcellite, …).
  • Paste into an intermediate application that supports both and copy again.
  • Use the command-line program xclip or xsel to copy the PRIMARY selection into the CLIPBOARD or vice versa.

    xclip -selection primary -o | xclip -selection clipboard -i
    xsel | xsel -b
    xclip -selection clipboard -o | xclip -selection primary -i
    xsel -b | xsel
    

¹ Even more, in fact, but only two that you'd encounter on a regular basis.

Related Question