SELECTION(1)

NAME
selection - the cut and paste utility for Linux virtual consoles

SYNTAX
selection [-a accel] [-b baud-rate] [-c l|m|r] [-d delta] [-m mouse-device] [-p l|m|r] [-s sample-rate] [-t mouse-type] [-r slack]

DESCRIPTION
selection is a utility that allows characters to be selected from the current Linux virtual console using the mouse and pasted into the current console. selection is normally invoked at boot time from /etc/rc.local, and runs as a background process.

OPTIONS

-aaccel
    movements of more than delta pixels are multiplied by accel (default 2)

-bbaud-rate
    set the baud rate of the mouse (default 1200 baud)

-cl|m|r
    set the copy button to be the left, middle or right button (default left)

-ddelta
    movements of more than delta pixels are multiplied by accel (default 25)

-mmouse-device
    specify the mouse device (default /dev/mouse)

-pl|m|r
    set the paste button to be the left, middle or right button (default right)

-ssample-rate
    set the sample rate of the mouse (default 100)

-tmouse-type
    specify the mouse type (Microsoft = `ms', Mouse Systems Corp = `msc', MM Series = `mm', Logitech = `logi', BusMouse = `bm', MSC 3-bytes = `sun', PS/2 = `ps2'; default = ms)

-wslack
    turn on wrap-around, specifying the amount of slack before the pointer reappears at the other side of the screen (default off)

OPERATION
To invoke the selection mechanism, press and release the copy button (the meaning of the buttons may be set at startup as above). A highlighted block will start moving around the screen, correlated with the movement of the mouse.

Move the block to the first character of the selection, then press and hold down the copy button.

Drag out the selection; the selected text will be highlighted. Then release the copy button. You can take the end of the selection to before the start of the selection if necessary.

Double-clicking the copy button while the highlighted block is on the screen selects text by word boundaries; treble-clicking selects by entire lines. If the button is held down after double- or treble-clicking, multiple words or lines may be selected. A word consists of a set of alphanumeric characters and underscores.

If a trailing space after the contents of a line is highlighted, and if there is no other text on the remainder of the line, the rest of the line will be selected automatically. If a number of lines are selected, highlighted trailing spaces on each line will be removed from the selection buffer.

Pressing the paste button in any virtual console pastes the selected text into the read queue of the associated tty.

Any output on the virtual console holding the selection will clear the highlighted selection from the screen, to maintain integrity of the display, although the contents of the paste buffer will be unaffected.

The selection mechanism is disabled if the controlling virtual console is placed in graphics mode, for example when running X11, and is re-enabled when text mode is resumed. (But see BUGS section below.)

FILES
/dev/mouse - default mouse device
/dev/console - current VC device

DIAGNOSTICS
selection complains if any of the devices it requires cannot be located.

BUGS
The size of the paste buffer is set at 2048 bytes by default. This may be changed at compile time; consult the installation notes.

The selection mechanism doesn't work very well with graphics characters, or indeed with any characters where a mapping between the typed character and the displayed character is performed by the console driver. The selection mechanism pastes into the input buffer the character codes as they are displayed on the screen, not those originally typed in by the user.

Because of the way that the kernel bus mouse drivers work, allowing only one process to have the mouse device open at once, selection cannot co-exist with X11 using ATI XL, Logitech and Microsoft bus mice or with a PS/2 mouse. The X server will not start while selection is running. This problem is not present with serial mice.

AUTHOR
Andrew Haylett <ajh@gec-mrc.co.uk>

ACKNOWLEDGEMENTS
Lefty patches originally suggested by:
Sotiris C. Vassilopoulos <scv2f@edu.Virginia.acc.honi4>
Logitech patches from:
Jim Winstead Jr <jwinstea@jarthur.Claremont.EDU>
Command line options based on those from:
Peter Macdonald <pmacdona@sanjuan>
Patches for bus mouse from:
Erik Troan <ewtroan@eos.ncsu.edu>
Christoph Niemann <niemann@rubdv15.etdv.ruhr-uni-bochum.de>
Koen Gadeyne <kmg@barco.be>
Patches for PS/2 mouse from:
Hans D. Fink
Patches for Sun mouse from:
Michael Haardt <michael@gandalf.moria>
Run-time configurable mouse buttons suggested by:
Charlie Brady <charlieb@au.oz.tpl.tplrd>
Setsid patches by:
Rick Sladkey <jrs@world.std.com>

Apologies to any contributors whose names I have omitted.