Jump to content

Clipboard (computing)

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Spyglasses (talk | contribs) at 04:49, 16 June 2016 (Introduction*/ Copy edit (minor)). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Glipper, an example of a clipboard management program

The clipboard is a software facility used for short-term data storage and/or data transfer between documents or applications, via copy and paste operations. It is most commonly a part of a GUI environment and is usually implemented as an anonymous, temporary data buffer, sometimes called the paste buffer, that can be accessed from most or all programs within the environment via defined programming interfaces. A typical application accesses clipboard functionality by mapping user input (keybindings, menu selections, etc.) to these interfaces.

Clipboard managers are applications that enable the user to manipulate the clipboard.

Basic functions

The semantics of the clipboard facility varies from one operating system to another, and can also vary between versions of the same system. They can sometimes be changed by different programs or by user preference. This can lead to user frustration when switching between environments with different clipboard semantics particularly as copy and paste operations often become embedded in the user's muscle memory[citation needed] or mental model.

Most environments support a single clipboard transaction. Each cut or copy overwrites the previous contents. Normally, paste operations copy the contents, leaving the contents available in the clipboard for further pasting operations.

Data formats

Early implementations of the clipboard stored data as plain text without meta-information such as typeface, type style or color. More recent implementations support the multiple types of data, allowing complex data structures to be stored. These range from styled text formats such as RTF or HTML, through a variety of bitmap and vector image formats to complex data types like spreadsheets and database entries.

For example, cutting a range of cells in a spreadsheet and then pasting them into another sheet may preserve the underlying formulae and data, and may even translate intra-cell references, so that a "SUM(...)" calculation on a sub-range of the cells is converted to refer to the newly pasted copies of those cells.

When data is added to the clipboard by an application, it typically makes it available in as many different data formats as it can. This includes both native and simpler (or more common) formats that would have a higher chance of being recognized by a wide variety of applications. Thus, when data is pasted into another application, the format that is closest to that application's native format can be used, preserving as much of the original data as possible. In Windows in particular, the internal clipboard functionality of the operating system will automatically translate data from known advanced formats to simpler formats (such as RTF to plain text, or Unicode to ANSI Text), increasing the likelihood that any given application can interpret some form of the original data.

Clipboard management

Modern GUIs often provide a clipboard manager which supports multiple cut and paste transactions. In this model the clipboard is treated as a stack or scrap book, with new cuts and copies being placed on top of the list of recent transactions. The standard paste operation copies the most recent transaction, while specialized pastes provide access to the other stored transactions. These managers generally also provide a window that displays the transaction history and allows the user to select earlier copies, edit them, change their format and even search amongst them.

Most environments do not save the clipboard contents to any persistent storage - when a user logs out or reboots his or her system the clipboard contents are cleared and forgotten.

Operating system-specific clipboards

Microsoft Windows

In some versions of the Microsoft Windows operating system, the contents of the clipboard can be viewed at any time by using the Clipboard Viewer (Clipbook Viewer in Windows XP and 2000) application (clipbrd.exe). It can be run by pressing Windows key + r and typing clipbrd.exe. Alternatively, the program can be found at %windir%\system32\clipbrd.exe on such versions of Windows. In older versions of Windows the common practice was to open a copy of the "Notepad" or "Wordpad" editor, and paste into that. Often these operations are available from the "Edit" pull down menu and they may be available via a context menu, usually accessible by context-clicking in the window or dialog entry that is to be cut from or pasted into.

The standard Windows key bindings are:

  • Ctrl+C to copy data onto the clipboard
  • Ctrl+X to cut data to the clipboard
  • Ctrl+V to paste data from the clipboard

Alternative key bindings derived from the IBM Common User Access are:

  • Ctrl+Ins is copy
  • ⇧ Shift+Del is cut
  • ⇧ Shift+Ins is paste

The advantage of the alternative keys is that the fingers can stay close to the arrow and selection keys when one is editing a large body of text.

The Clipbook Viewer was removed entirely in Windows Vista.

Mac OS X

In the Macintosh Operating System the contents can be viewed by selecting the Show Clipboard menu item from the Finder's Edit menu.

The standard Mac OS keybindings are:

  • Cmd-C to copy data into the clipboard
  • ⌘ Cmd-X to cut into it
  • ⌘ Cmd-V to paste data from the clipboard.

Also available as a secondary, text-only clipboard, is an emacs-style kill-ring (a stack of text strings). This works in all applications that use standard Cocoa text boxes:

  • Ctrl-K to kill from cursor to end-of-line.
  • Ctrl-Y to yank from kill-ring to cursor.

Using the following commands the clipboard can be accessed from the command line:[1] [2]

$ # to copy data into the clipboard:
$ echo 'hello world' | pbcopy
$ # to paste from the clipboard:
$ pbpaste 
hello world

X Window System

The X Window System commonly used on Unix and Linux systems provides a clipboard implementation as part of X Window selection. Selections are asynchronous, so data is copied and converted into the desired format only on-demand.

The usage and handling of various selections is not standardized. However most modern toolkits and desktop environments, such as GNOME or KDE, follow a widely accepted convention, outlined in the freedesktop.org specification.[3] One selection, CLIPBOARD, is used for traditional clipboard semantics, with shortcuts identical to Windows. Another selection, PRIMARY, is an X11-specific mechanism. Data is "copied" immediately upon highlighting and pasted with the third (middle) mouse button. This is usually separate from the CLIPBOARD selection and does not change its contents.

Clipboard extensions

A number of independent software vendors have extended the capabilities of local clipboard. One good example is making the local clipboard work with online applications by saving the clipboard data to the online location upon a copy or cut event, making this data available to online applications for pasting. Another example is a case when the software does not support copying from clipboard or does not allow one to paste a text from clipboard (for example, while logging into remote Windows server, one cannot copy and paste their user name and password). Tools like "Clipboard Typist" help one to overcome this limitation.

List of clipboard software

Name Operating System License
AceClipboard Windows Freeware
AtoZ Clipboard Windows Freeware
ArchiveClipboard Windows, Mac OS X, Linux Freeware
Spartan Multi-Clipboard Windows Commercial
ClipSync Android / Windows Freeware
3D Clipboard Windows Freeware
AM8 Free Clipboard Windows Freeware
ArsClip Windows Open Source (Delphi)
Capast Windows Freeware
Clipboard Evolved Mac OS X Commercial
Clipboard History Windows Freeware
Clipboard Magic Windows Freeware
Clipboard Master Windows Freeware
Clipjump Windows Open Source (Apache License)
ClipboardMultiSharer Cross-platform Open Source (GPL)
Clipboard Typist Windows Freeware
Clipcomrade Windows Open Source (LGPL)
Clipomatic Windows Freeware
ClipX Windows Freeware
Clipmenu Mac OS X Freeware
Clipmate 7 Windows Commercial
Clyppan Mac OS X Freeware / Commercial
CopyPaste Mac OS X Commercial
CopyTexty Windows Freeware / Commercial
Cute Clips Mac OS X Commercial
Ditto Windows Open Source (GPL)
ECPText and Template software Windows Freeware / Commercial
Glipper / Klipper Gnu/Linux, GNOME / KDE Open Source (GPL)
Iclip Mac OS X Commercial
Hot Copy Paste Windows Commercial
Jumpcut Mac OS X Open Source (MIT License)
Open Paste Windows Commercial
PasteCopy.NET Windows Freeware
Pthpasteboard Mac OS X Commercial
Rclipstep Windows Freeware
Savvy Clipboard Mac OS X Commercial
Shapeshifter Windows Freeware
Stuf Mac OS X Commercial
Wlipper Windows Open Source (GPL)
Yankee Clipper 3 / X Windows Freeware / Commercial
copy+ iOS Commercial
CopyIt Windows, Mac OS X, Linux, Android Open Source (GPL)
Clipboard Stripper Windows Commercial
Clipdiary Windows Commercial
Clipdiary Free Windows Freeware

See also

References

  1. ^ "Copy to clipboard from terminal in OS X". rogeriopvl.com.
  2. ^ "pbcopy(1) Mac OS X Manual Page". apple.com.
  3. ^ "clipboards-spec". freedesktop.org. Retrieved 2014-08-16.