# Selection (user interface)

In computing and user interface engineering, a selection is a list of items on which user operations will take place. The user typically adds items to the list manually, although the computer may create a selection automatically.
Selections are enacted through combinations of key presses on a keyboard, with a precision pointing device (mouse or touchpad and cursor, stylus), or by hand on a touchscreen device. The simultaneous selection of a group of items (either a subset of elements in a list, or discontinuous regions in a text) is called a multiple selection.
Context menus will usually include actions related to the objects included in the current selection – the selection provides the "context" for the menu.

## Types
### Uses

* Text selection is associated with the cut, copy and paste operations and done with a cursor, caret navigation or touch.
* Image editing applications can feature specialized graphical tools for the selection and modification of areas and shapes or to interact with colours, such as the magic wand selection tool, the lasso selection tool, the marquee selection (bounding box), or the color picker. The border of a selected area in an image is often animated with the marching ants effect to help the user to distinguish the selection border from the image background.
* Video editing programs may utilise dynamic controls and advanced digital effects on the selected region.
* Files and other interface components can be selected and used with the advent of GUIs.
* Selection and manipulation in 3D virtual environments

### Range selection

A selection method to facilitate the selection of large amounts of text or items in a long list such as files and folders in file managers is range selection, sparing the user from clicking or tapping each item individually.
On desktop file managers such as the Windows Explorer and Nemo file manager, it can be used by clicking on the first item to be selected, then holding the ⇧ shift key while clicking on the last item to be selected. In mobile file managers, it is implemented since early versions of ES File Explorer, where only two listed items (file or directory) need to be highlighted and a button pressed to select all items in-between.
Ideally, the two list items are navigated to with a draggable scroll bar, since it can move through long lists faster.

### Selection with dragging

The user taps or clicks on the first item, drags upward or downward, and waits for the list to scroll to the last desired item, at which the user releases the pointer or finger. The same applies to text.

## Simultaneous editing

Simultaneous editing is a technique in End-user development research to edit all items in a multiple selection. It allows the user to manipulate all the selected items at once through direct manipulation. The technique also appears in data wrangling tools, allowing the user to make the same changes to several records of the same kind in a table.
The term simultaneous editing is also used to describe collaborative editing in collaborative real-time editors.

### Column selection

A column selection is a text selection feature found in text editors which allows the user to select characters in a grid-like fashion, selecting characters in several lines at the same columns. This is usually initiated by pressing the alt key (instead of the shift key, which creates a continuous selection) to select text when dragging. Some applications also enable text to be typed in multiple lines at once using this method as a limited form of simultaneous editing.
The feature is known by different names in different applications:
* block selection – LibreOffice Writer, Kate
* column selection – EditPlus, vi, Emacs
* non-linear text selection – TextEdit
* rectangular selection – jEdit
* column block selection – Microsoft Visual Studio
* column mode editing – Notepad++

### Free-form simultaneous editing

The Lapis text editor, Mozilla's Firefox developer tools, and the multi edit plugin for gedit are examples of the simultaneous editing technique that work on discontinuous regions through direct manipulation. The Lapis editor can also create an automatic multiple selection based on an example item.