It is suggested that the selection named by xa_secondary be used:

• As the second argument to commands taking two arguments. For example, it might be used when exchanging the primary and secondary selections.

As a means of obtaining data when there is a primary selection, and the user does not wish to disturb it.

The CLIPBOARD selection can be used to hold deleted data (it has no predefined atom). There is a client called xclipboard that will display the contents of the CLIPBOARD, even if the client where the data was selected has already been killed.

12.4.9 Target Atoms

The atom that a requestor supplies as the target argument of XConvertSelection ( ) determines the form of the data supplied. The set of such atoms is extensible, but a generally accepted base set of target atoms is needed. The set specified in the conventions is shown in Appendix L, Interclient Communication Conventions, of Volume Zero, X Protocol Refer-ence Manual (as of the second printing). However, some types are already predefined properties, and these can safely be used.

Target properties describe types of data. They contain the C language types of the structures that are used for many of the Xlib functions. The predefined target atoms are shown in Table 12-6.

Table 12-6. Predefined Target Type Atoms

Type Atom

C Language Type

XA_ARC

XArc

XA_POINT

XPoint

XA_ATOM

Atom

XA_RGB_COLOR_MAP

Atom (standard colormap)

XA_BITMAP

Pixmap (of depth 1)

XA_RECTANGLE

XRectangle

XA_CARDINAL

int (dimensionless)

XA_STRING

char *

XA_COLORMAP

Colormap

XA_VISUALID

VisualID

XA_CURSOR

Cursor

XA_WINDOW

Window

XA_DRAWABLE

Drawable

XA_WMHINTS

XWMHints

XA_FONT

Font

XA_INTEGER

int

XA_WM_SIZE_HINTS

XSizeHints

XA_PIXMAP

Pixmap

Interclient Communication