X-based applications can communicate within each other using Selections which allow to select and copy text regions from one application to another. The primary selection is used e.g. when selecting a text region with the left mouse button under Netscape. The xclipboard application allows you to check its contents. Whereas the selection mechanisms establish a link between a source and a target application, the Cut-Buffers are based on a common area provided by the X server. This way, a X client may introduce information into a cut buffer which can be retrieved later on by any other X client.
X allows use up to eight cut buffers.
With the xcutsel tool, the contents of a primary selection can be copied into a cut buffer or vice versa. Provide visual feedback to the user during the drag. Allow the target application to choose whatever data format it prefers from among all the formats that the source can provide. Thus a word processor might tell a image program to provide a picture in a specific format in order to avoid useless conversions. In addition, it must be efficient so that the visual feedback does not lag behind the user's actions, and it must be safe from deadlocks, race conditions, etc.