27

I am tweaking in Webkit-browser land in Linux and I come accross the terms "Primary Selection" and "Clipboard selection or buffer" very often.

  • I want to understand what are they and what difference do they have?
  • Where does drag and drop pasting fit in?
  • What is the job of xclip in this matter exactly?
  • 3
    Why have a single coherent clipboard when you could have two of them? </sarcasm> – LatinSuD Jun 25 '14 at 18:41
24

They are part of Selection Atoms, or X Atoms.

The Inter-Client Communication Conventions Manual for X states:

There can be an arbitrary number of selections, each named by an atom. To conform with the inter-client conventions, however, clients need deal with only these three selections:

  • PRIMARY
  • SECONDARY
  • CLIPBOARD

In short:

  • PRIMARY selection is typically used by e.g. terminals when selecting text and pasting it by pressing middle mouse button. As in selected text is in Primary Clipboard without any explicit copy action taking place. Quick-Copy is a good name for it. (Not limited to terminal emulators, but as an example.)
  • CLIPBOARD is primarily used in connection with MS Windows-style clipboard operations. Select+Copy. The data resides in the buffer.

Read more here.

Support for PRIMARY was added to WebKit back in 2008.

xclip, which is a command line interface (tool) for X selections (clipboard), traditionally adds data to Primary Clipboard. Optionally one can choose which one to use by the -clipboard option given argument of either.


Corr.: Drag And Drop resides under Xdnd. There is also a Wikipedia entry on the spec. It uses XdndSelection and should not interfere with PRIMARY.

The protocol is at least implemented by Qt and GTK.

  • CLIPBOARD is primarily used in connection with MS Windows-style clipboard operations. Select+Copy. The data resides in the buffer. We just talking about this in linux nowhere else – r004 Jun 25 '14 at 19:00
  • @r004: What I meant is it is a MS Windows like clipboard (they work close to identically, including, (often), shortcuts etc.) – Runium Jun 25 '14 at 19:23
  • … for end-user, that is. – Runium Jun 25 '14 at 19:42
  • 13
    What about SECONDARY? – e18r Nov 20 '16 at 16:27
  • 9
    @emisilva: That is secondary (pun indented.) Nah. (Unfortunately) seldom used. If you want something more beyond the links in answer, perhaps a quick dive into Charles Lindsey's fight for the secondary selection is to the liking :) You could also test with Emacs – but your WindowManager would likely mess things up ... – Runium Nov 21 '16 at 2:19

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.