summaryrefslogtreecommitdiff
path: root/doc/screen.info-3
diff options
context:
space:
mode:
Diffstat (limited to 'doc/screen.info-3')
-rw-r--r--doc/screen.info-31381
1 files changed, 1381 insertions, 0 deletions
diff --git a/doc/screen.info-3 b/doc/screen.info-3
new file mode 100644
index 0000000..66f750a
--- /dev/null
+++ b/doc/screen.info-3
@@ -0,0 +1,1381 @@
+This is Info file screen.info, produced by Makeinfo-1.55 from the input
+file ./screen.texinfo.
+
+ This file documents the `Screen' virtual terminal manager.
+
+ Copyright (c) 1993 Free Software Foundation, Inc.
+
+ Permission is granted to make and distribute verbatim copies of this
+manual provided the copyright notice and this permission notice are
+preserved on all copies.
+
+ Permission is granted to copy and distribute modified versions of
+this manual under the conditions for verbatim copying, provided that
+the entire resulting derived work is distributed under the terms of a
+permission notice identical to this one.
+
+ Permission is granted to copy and distribute translations of this
+manual into another language, under the above conditions for modified
+versions, except that this permission notice may be stated in a
+translation approved by the Foundation.
+
+
+File: screen.info, Node: Key Binding, Next: Flow Control, Prev: Subprocess Execution, Up: Top
+
+Key Binding
+***********
+
+ You may disagree with some of the default bindings (I know I do).
+The `bind' command allows you to redefine them to suit your preferences.
+
+* Menu:
+
+* Bind:: `bind' syntax.
+* Bind Examples:: Using `bind'.
+* Command Character:: The character used to start keyboard commands.
+* Help:: Show current key bindings.
+* Bindkey:: `bindkey' syntax.
+* Bindkey Examples:: Some easy examples.
+* Bindkey Control:: How to control the bindkey mechanism.
+
+
+File: screen.info, Node: Bind, Next: Bind Examples, Up: Key Binding
+
+The `bind' command
+==================
+
+ - Command: bind KEY [COMMAND [ARGS]]
+ (none)
+ Bind a command to a key. The KEY argument is either a single
+ character, a two-character sequence of the form `^x' (meaning
+ `C-x'), a backslash followed by an octal number (specifying the
+ ASCII code of the character), or a backslash followed by a second
+ character, such as `\^' or `\\'. The argument can also be quoted,
+ if you like. If no further argument is given, any previously
+ established binding for this key is removed. The COMMAND argument
+ can be any command (*note Command Index::.).
+
+ By default, most suitable commands are bound to one or more keys
+ (*note Default Key Bindings::.; for instance, the command to
+ create a new window is bound to `C-c' and `c'. The `bind' command
+ can be used to redefine the key bindings and to define new
+ bindings.
+
+
+File: screen.info, Node: Bind Examples, Next: Command Character, Prev: Bind, Up: Key Binding
+
+Examples of the `bind' command
+==============================
+
+Some examples:
+
+ bind ' ' windows
+ bind ^f screen telnet foobar
+ bind \033 screen -ln -t root -h 1000 9 su
+
+would bind the space key to the command that displays a list of windows
+(so that the command usually invoked by `C-a C-w' would also be
+available as `C-a space'), bind `C-f' to the command "create a window
+with a TELNET connection to foobar", and bind ESC to the command that
+creates an non-login window with title `root' in slot #9, with a
+super-user shell and a scrollbackbuffer of 1000 lines.
+
+
+File: screen.info, Node: Command Character, Next: Help, Prev: Bind Examples, Up: Key Binding
+
+Command Character
+=================
+
+ - Command: escape XY
+ (none)
+ Set the command character to X and the character generating a
+ literal command character to Y (just like with the `-e' option).
+ Each argument is either a single character, a two-character
+ sequence of the form `^x' (meaning `C-x'), a backslash followed by
+ an octal number (specifying the ASCII code of the character), or a
+ backslash followed by a second character, such as `\^' or `\\'.
+ The default is `^Aa', but ```' is recommended by one of the
+ authors.
+
+ - Command: defescape XY
+ (none)
+ Set the default command characters. This is equivalent to the
+ command `escape' except that it is useful for multiuser sessions
+ only. In a multiuser session `escape' changes the command
+ character of the calling user, where `defescape' changes the
+ default command characters for users that will be added later.
+
+ - Command: meta
+ (`C-a a')
+ Send the command character (`C-a') to the process in the current
+ window. The keystroke for this command is the second parameter to
+ the `-e' command line switch (*note Invoking Screen::.), or the
+ `escape' .screenrc directive.
+
+ - Command: command
+ (none)
+ This command has the same effect as typing the screen escape
+ character (`C-a'). It is probably only useful for key bindings.
+ *Note Bindkey::.
+
+
+File: screen.info, Node: Help, Next: Bindkey, Prev: Command Character, Up: Key Binding
+
+Help
+====
+
+ - Command: help
+ (`C-a ?')
+ Displays a help screen showing you all the key bindings. The first
+ pages list all the internal commands followed by their bindings.
+ Subsequent pages will display the custom commands, one command per
+ key. Press space when you're done reading each page, or return to
+ exit early. All other characters are ignored. *Note Default Key
+ Bindings::.
+
+
+File: screen.info, Node: Bindkey, Next: Bindkey Examples, Prev: Help, Up: Key Binding
+
+Bindkey
+=======
+
+ - Command: bindkey [OPTS] [STRING [CMD ARGS]]
+ (none)
+ This command manages screen's input translation tables. Every
+ entry in one of the tables tells screen how to react if a certain
+ sequence of characters is encountered. There are three tables: one
+ that should contain actions programmed by the user, one for the
+ default actions used for terminal emulation and one for screen's
+ copy mode to do cursor movement. *Note Input Translation:: for a
+ list of default key bindings.
+
+ If the `-d' option is given, bindkey modifies the default table,
+ `-m' changes the copy mode table and with neither option the user
+ table is selected. The argument `string' is the sequence of
+ characters to which an action is bound. This can either be a fixed
+ tring or a termcap keyboard capability name (selectable with the
+ `-k' option).
+
+ Some keys on a VT100 terminal can send a different string if
+ application mode is turned on (e.g. the cursor keys). Such keys
+ have two entries in the translation table. You can select the
+ application mode entry by specifying the `-a' option.
+
+ The `-t' option tells screen not to do intercharacter timing. One
+ cannot turn off the timing if a termcap capabilty is used.
+
+ `cmd' can be any of screen's commands with an arbitrary number of
+ `args'. If `cmd' is omitted the keybinding is removed from the
+ table.
+
+
+File: screen.info, Node: Bindkey Examples, Next: Bindkey Control, Prev: Bindkey, Up: Key Binding
+
+Bindkey Examples
+================
+
+Here are some examples of keyboard bindings:
+
+ bindkey -d
+
+Show all of the default key bindings. The application mode entries are
+marked with [A].
+
+ bindkey -k k1 select 1
+
+Make the "F1" key switch to window one.
+
+ bindkey -t foo stuff barfoo
+
+Make `foo' an abrevation of the word `barfoo'. Timeout is disabled so
+that users can type slowly.
+
+ bindkey "\024" mapdefault
+
+This keybinding makes `C-t' an escape character for keybindings. If you
+did the above `stuff barfoo' binding, you can enter the word `foo' by
+typing `C-t foo'. If you want to insert a `C-t' you have to press the
+key twice (i.e. escape the escape binding).
+
+ bindkey -k F1 command
+
+Make the F11 (not F1!) key an alternative screen escape (besides `C-a').
+
+
+File: screen.info, Node: Bindkey Control, Prev: Bindkey Examples, Up: Key Binding
+
+Bindkey Control
+===============
+
+ - Command: mapdefault
+ (none)
+ Tell screen that the next input character should only be looked up
+ in the default bindkey table.
+
+ - Command: mapnotnext
+ (none)
+ Like mapdefault, but don't even look in the default bindkey table.
+
+ - Command: maptimeout TIMO
+ (none)
+ Set the intercharacter timer for input sequence detection to a
+ timeout of TIMO ms. The default timeout is 300ms. Maptimeout with
+ no arguments shows the current setting.
+
+
+File: screen.info, Node: Flow Control, Next: Termcap, Prev: Key Binding, Up: Top
+
+Flow Control
+************
+
+ `screen' can trap flow control characters or pass them to the
+program, as you see fit. This is useful when your terminal wants to use
+XON/XOFF flow control and you are running a program which wants to use
+^S/^Q for other purposes (i.e. `emacs').
+
+* Menu:
+
+* Flow Control Summary:: The effect of `screen' flow control
+* Flow:: Setting the flow control behavior
+* XON/XOFF:: Sending XON or XOFF to the window
+
+
+File: screen.info, Node: Flow Control Summary, Next: Flow, Up: Flow Control
+
+About `screen' flow control settings
+====================================
+
+ Each window has a flow-control setting that determines how screen
+deals with the XON and XOFF characters (and perhaps the interrupt
+character). When flow-control is turned off, screen ignores the XON
+and XOFF characters, which allows the user to send them to the current
+program by simply typing them (useful for the `emacs' editor, for
+instance). The trade-off is that it will take longer for output from a
+"normal" program to pause in response to an XOFF. With flow-control
+turned on, XON and XOFF characters are used to immediately pause the
+output of the current window. You can still send these characters to
+the current program, but you must use the appropriate two-character
+screen commands (typically `C-a q' (xon) and `C-a s' (xoff)). The
+xon/xoff commands are also useful for typing C-s and C-q past a
+terminal that intercepts these characters.
+
+ Each window has an initial flow-control value set with either the
+`-f' option or the `defflow' command. By default the windows are set
+to automatic flow-switching. It can then be toggled between the three
+states 'fixed on', 'fixed off' and 'automatic' interactively with the
+`flow' command bound to `C-a f'.
+
+ The automatic flow-switching mode deals with flow control using the
+TIOCPKT mode (like `rlogin' does). If the tty driver does not support
+TIOCPKT, screen tries to determine the right mode based on the current
+setting of the application keypad -- when it is enabled, flow-control
+is turned off and visa versa. Of course, you can still manipulate
+flow-control manually when needed.
+
+ If you're running with flow-control enabled and find that pressing
+the interrupt key (usually C-c) does not interrupt the display until
+another 6-8 lines have scrolled by, try running screen with the
+`interrupt' option (add the `interrupt' flag to the `flow' command in
+your .screenrc, or use the `-i' command-line option). This causes the
+output that `screen' has accumulated from the interrupted program to be
+flushed. One disadvantage is that the virtual terminal's memory
+contains the non-flushed version of the output, which in rare cases can
+cause minor inaccuracies in the output. For example, if you switch
+screens and return, or update the screen with `C-a l' you would see the
+version of the output you would have gotten without `interrupt' being
+on. Also, you might need to turn off flow-control (or use auto-flow
+mode to turn it off automatically) when running a program that expects
+you to type the interrupt character as input, as the `interrupt'
+parameter only takes effect when flow-control is enabled. If your
+program's output is interrupted by mistake, a simple refresh of the
+screen with `C-a l' will restore it. Give each mode a try, and use
+whichever mode you find more comfortable.
+
+
+File: screen.info, Node: Flow, Next: XON/XOFF, Prev: Flow Control Summary, Up: Flow Control
+
+Flow
+====
+
+ - Command: defflow FSTATE [INTERRUPT]
+ (none)
+ Same as the `flow' command except that the default setting for new
+ windows is changed. Initial setting is `auto'. Specifying `flow
+ auto interrupt' has the same effect as the command-line options
+ `-fa' and `-i'. Note that if `interrupt' is enabled, all existing
+ displays are changed immediately to forward interrupt signals.
+
+ - Command: flow [FSTATE]
+ (`C-a f', `C-a C-f')
+ Sets the flow-control mode for this window to FSTATE, which can be
+ `on', `off' or `auto'. Without parameters it cycles the current
+ window's flow-control setting. Default is set by `defflow'.
+
+
+File: screen.info, Node: XON/XOFF, Prev: Flow, Up: Flow Control
+
+XON and XOFF
+============
+
+ - Command: xon
+ (`C-a q', `C-a C-q')
+ Send a ^Q (ASCII XON) to the program in the current window.
+ Redundant if flow control is set to `off' or `auto'.
+
+ - Command: xoff
+ (`C-a s', `C-a C-s')
+ Send a ^S (ASCII XOFF) to the program in the current window.
+
+
+File: screen.info, Node: Termcap, Next: Message Line, Prev: Flow Control, Up: Top
+
+Termcap
+*******
+
+ `screen' demands the most out of your terminal so that it can
+perform its VT100 emulation most efficiently. These functions provide
+means for tweaking the termcap entries for both your physical terminal
+and the one simulated by `screen'.
+
+* Menu:
+
+* Window Termcap:: Choosing a termcap entry for the window.
+* Dump Termcap:: Write out a termcap entry for the window.
+* Termcap Syntax:: The `termcap' and `terminfo' commands.
+* Termcap Examples:: Uses for `termcap'.
+* Special Capabilities:: Non-standard capabilities used by `screen'.
+* Autonuke:: Flush unseen output
+* Obuflimit:: Allow pending output when reading more
+* Character Translation:: Emulating fonts and charsets.
+
+
+File: screen.info, Node: Window Termcap, Next: Dump Termcap, Up: Termcap
+
+Choosing the termcap entry for a window
+=======================================
+
+ Usually `screen' tries to emulate as much of the VT100/ANSI standard
+as possible. But if your terminal lacks certain capabilities the
+emulation may not be complete. In these cases `screen' has to tell the
+applications that some of the features are missing. This is no problem
+on machines using termcap, because `screen' can use the `$TERMCAP'
+variable to customize the standard screen termcap.
+
+ But if you do a rlogin on another machine or your machine supports
+only terminfo this method fails. Because of this `screen' offers a way
+to deal with these cases. Here is how it works:
+
+ When `screen' tries to figure out a terminal name for itself, it
+first looks for an entry named `screen.TERM', where TERM is the
+contents of your `$TERM' variable. If no such entry exists, `screen'
+tries `screen' (or `screen-w', if the terminal is wide (132 cols or
+more)). If even this entry cannot be found, `vt100' is used as a
+substitute.
+
+ The idea is that if you have a terminal which doesn't support an
+important feature (e.g. delete char or clear to EOS) you can build a new
+termcap/terminfo entry for `screen' (named `screen.DUMBTERM') in which
+this capability has been disabled. If this entry is installed on your
+machines you are able to do a rlogin and still keep the correct
+termcap/terminfo entry. The terminal name is put in the `$TERM'
+variable of all new windows. `screen' also sets the `$TERMCAP'
+variable reflecting the capabilities of the virtual terminal emulated.
+Furthermore, the variable `$WINDOW' is set to the window number of each
+window.
+
+ The actual set of capabilities supported by the virtual terminal
+depends on the capabilities supported by the physical terminal. If, for
+instance, the physical terminal does not support underscore mode,
+`screen' does not put the `us' and `ue' capabilities into the window's
+`$TERMCAP' variable, accordingly. However, a minimum number of
+capabilities must be supported by a terminal in order to run `screen';
+namely scrolling, clear screen, and direct cursor addressing (in
+addition, `screen' does not run on hardcopy terminals or on terminals
+that over-strike).
+
+ Also, you can customize the `$TERMCAP' value used by `screen' by
+using the `termcap' command, or by defining the variable `$SCREENCAP'
+prior to startup. When the latter defined, its value will be copied
+verbatim into each window's `$TERMCAP' variable. This can either be
+the full terminal definition, or a filename where the terminal `screen'
+(and/or `screen-w') is defined.
+
+ Note that `screen' honors the `terminfo' command if the system uses
+the terminfo database rather than termcap. On such machines the
+`$TERMCAP' variable has no effect and you must use the `dumptermcap'
+command (*note Dump Termcap::.) and the `tic' program to generate
+terminfo entries for `screen' windows.
+
+ When the boolean `G0' capability is present in the termcap entry for
+the terminal on which `screen' has been called, the terminal emulation
+of `screen' supports multiple character sets. This allows an
+application to make use of, for instance, the VT100 graphics character
+set or national character sets. The following control functions from
+ISO 2022 are supported: `lock shift G0' (`SI'), `lock shift G1' (`SO'),
+`lock shift G2', `lock shift G3', `single shift G2', and `single shift
+G3'. When a virtual terminal is created or reset, the ASCII character
+set is designated as `G0' through `G3'. When the `G0' capability is
+present, screen evaluates the capabilities `S0', `E0', and `C0' if
+present. `S0' is the sequence the terminal uses to enable and start the
+graphics character set rather than `SI'. `E0' is the corresponding
+replacement for `SO'. `C0' gives a character by character translation
+string that is used during semi-graphics mode. This string is built
+like the `acsc' terminfo capability.
+
+ When the `po' and `pf' capabilities are present in the terminal's
+termcap entry, applications running in a `screen' window can send
+output to the printer port of the terminal. This allows a user to have
+an application in one window sending output to a printer connected to
+the terminal, while all other windows are still active (the printer
+port is enabled and disabled again for each chunk of output). As a
+side-effect, programs running in different windows can send output to
+the printer simultaneously. Data sent to the printer is not displayed
+in the window.
+
+ Some capabilities are only put into the `$TERMCAP' variable of the
+virtual terminal if they can be efficiently implemented by the physical
+terminal. For instance, `dl' (delete line) is only put into the
+`$TERMCAP' variable if the terminal supports either delete line itself
+or scrolling regions. Note that this may provoke confusion, when the
+session is reattached on a different terminal, as the value of
+`$TERMCAP' cannot be modified by parent processes. You can force
+`screen' to include all capabilities in `$TERMCAP' with the `-a'
+command-line option (*note Invoking Screen::.).
+
+
+File: screen.info, Node: Dump Termcap, Next: Termcap Syntax, Prev: Window Termcap, Up: Termcap
+
+Write out the window's termcap entry
+====================================
+
+ - Command: dumptermcap
+ (`C-a .')
+ Write the termcap entry for the virtual terminal optimized for the
+ currently active window to the file `.termcap' in the user's
+ `$HOME/.screen' directory (or wherever `screen' stores its
+ sockets. *note Files::.). This termcap entry is identical to the
+ value of the environment variable `$TERMCAP' that is set up by
+ `screen' for each window. For terminfo based systems you will need
+ to run a converter like `captoinfo' and then compile the entry with
+ `tic'.
+
+
+File: screen.info, Node: Termcap Syntax, Next: Termcap Examples, Prev: Dump Termcap, Up: Termcap
+
+The `termcap' command
+=====================
+
+ - Command: termcap TERM TERMINAL-TWEAKS [WINDOW-TWEAKS]
+ - Command: terminfo TERM TERMINAL-TWEAKS [WINDOW-TWEAKS]
+ - Command: termcapinfo TERM TERMINAL-TWEAKS [WINDOW-TWEAKS]
+ (none)
+ Use this command to modify your terminal's termcap entry without
+ going through all the hassles involved in creating a custom
+ termcap entry. Plus, you can optionally customize the termcap
+ generated for the windows. You have to place these commands in
+ one of the screenrc starup files, as they are meaningless once the
+ terminal emulator is booted.
+
+ If your system uses the terminfo database rather than termcap,
+ `screen' will understand the `terminfo' command which has the same
+ effects as the `termcap' command. Two separate commands are
+ provided, as there are subtle syntactic differences, e.g. when
+ parameter interpolation (using `%') is required. Note that the
+ termcap names of the capabilities have to be used with the
+ `terminfo' command.
+
+ In many cases, where the arguments are valid in both terminfo and
+ termcap syntax, you can use the command `termcapinfo', which is
+ just a shorthand for a pair of `termcap' and `terminfo' commands
+ with identical arguments.
+
+ The first argument specifies which terminal(s) should be affected by
+this definition. You can specify multiple terminal names by separating
+them with `|'s. Use `*' to match all terminals and `vt*' to match all
+terminals that begin with `vt'.
+
+ Each TWEAK argument contains one or more termcap defines (separated
+by `:'s) to be inserted at the start of the appropriate termcap entry,
+enhancing it or overriding existing values. The first tweak modifies
+your terminal's termcap, and contains definitions that your terminal
+uses to perform certain functions. Specify a null string to leave this
+unchanged (e.g. ""). The second (optional) tweak modifies all the
+window termcaps, and should contain definitions that screen understands
+(*note Virtual Terminal::.).
+
+
+File: screen.info, Node: Termcap Examples, Next: Special Capabilities, Prev: Termcap Syntax, Up: Termcap
+
+Termcap Examples
+================
+
+ Some examples:
+
+ termcap xterm* xn:hs@
+
+Informs `screen' that all terminals that begin with `xterm' have firm
+auto-margins that allow the last position on the screen to be updated
+(xn), but they don't really have a status line (no 'hs' - append `@' to
+turn entries off). Note that we assume `xn' for all terminal names
+that start with `vt', but only if you don't specify a termcap command
+for that terminal.
+
+ termcap vt* xn
+ termcap vt102|vt220 Z0=\E[?3h:Z1=\E[?3l
+
+Specifies the firm-margined `xn' capability for all terminals that
+begin with `vt', and the second line will also add the escape-sequences
+to switch into (Z0) and back out of (Z1) 132-character-per-line mode if
+this is a VT102 or VT220. (You must specify Z0 and Z1 in your termcap
+to use the width-changing commands.)
+
+ termcap vt100 "" l0=PF1:l1=PF2:l2=PF3:l3=PF4
+
+This leaves your vt100 termcap alone and adds the function key labels to
+each window's termcap entry.
+
+ termcap h19|z19 am@:im=\E@:ei=\EO dc=\E[P
+
+Takes a h19 or z19 termcap and turns off auto-margins (am@) and enables
+the insert mode (im) and end-insert (ei) capabilities (the `@' in the
+`im' string is after the `=', so it is part of the string). Having the
+`im' and `ei' definitions put into your terminal's termcap will cause
+screen to automatically advertise the character-insert capability in
+each window's termcap. Each window will also get the delete-character
+capability (dc) added to its termcap, which screen will translate into
+a line-update for the terminal (we're pretending it doesn't support
+character deletion).
+
+ If you would like to fully specify each window's termcap entry, you
+should instead set the `$SCREENCAP' variable prior to running `screen'.
+*Note Virtual Terminal::, for the details of the `screen' terminal
+emulation. *Note Termcap: (termcap)Top, for more information on
+termcap definitions.
+
+
+File: screen.info, Node: Special Capabilities, Next: Autonuke, Prev: Termcap Examples, Up: Termcap
+
+Special Terminal Capabilities
+=============================
+
+ The following table describes all terminal capabilities that are
+recognized by `screen' and are not in the termcap manual (*note
+Termcap: (termcap)Top.). You can place these capabilities in your
+termcap entries (in `/etc/termcap') or use them with the commands
+`termcap', `terminfo' and `termcapinfo' in your `screenrc' files. It is
+often not possible to place these capabilities in the terminfo database.
+`LP'
+ (bool)
+ Terminal has VT100 style margins (`magic margins'). Note that this
+ capability is obsolete -- `screen' now uses the standard `xn'
+ instead.
+
+`Z0'
+ (str)
+ Change width to 132 columns.
+
+`Z1'
+ (str)
+ Change width to 80 columns.
+
+`WS'
+ (str)
+ Resize display. This capability has the desired width and height as
+ arguments. SunView(tm) example: `\E[8;%d;%dt'.
+
+`NF'
+ (bool)
+ Terminal doesn't need flow control. Send ^S and ^Q direct to the
+ application. Same as `flow off'. The opposite of this capability
+ is `nx'.
+
+`G0'
+ (bool)
+ Terminal can deal with ISO 2022 font selection sequences.
+
+`S0'
+ (str)
+ Switch charset `G0' to the specified charset. Default is `\E(%.'.
+
+`E0'
+ (str)
+ Switch charset `G0' back to standard charset. Default is `\E(B'.
+
+`C0'
+ (str)
+ Use the string as a conversion table for font 0. See the `ac'
+ capability for more details.
+
+`CS'
+ (str)
+ Switch cursor keys to application mode.
+
+`CE'
+ (str)
+ Switch cursor keys to cursor mode.
+
+`AN'
+ (bool)
+ Enable autonuke for displays of this terminal type. (*note
+ Autonuke::.).
+
+`OL'
+ (num)
+ Set the output buffer limit. See the `obuflimit' command (*note
+ Obuflimit::.) for more details.
+
+`KJ'
+ (str)
+ Set the kanji type of the terminal. Valid strings are `jis', `euc'
+ and `sjis'.
+
+`AF'
+ (str)
+ Change character forground color in an ANSI conform way. This
+ capability will almost always be set to `\E[3%dm' (`\E[3%p1%dm' on
+ terminfo machines).
+
+`AB'
+ (str)
+ Same as `AF', but change background color.
+
+`AX'
+ (bool)
+ Does understand ANSI set default fg/bg color (`\E[39m / \E[49m').
+
+`XC'
+ (str)
+ Describe a translation of characters to strings depending on the
+ current font. (*note Character Translation::.).
+
+
+File: screen.info, Node: Autonuke, Next: Obuflimit, Prev: Special Capabilities, Up: Termcap
+
+Autonuke
+========
+
+ - Command: autonuke STATE
+ (none)
+ Sets whether a clear screen sequence should nuke all the output
+ that has not been written to the terminal. *Note Obuflimit::.
+ This property is set per display, not per window.
+
+ - Command: defautonuke STATE
+ (none)
+ Same as the `autonuke' command except that the default setting for
+ new displays is also changed. Initial setting is `off'. Note that
+ you can use the special `AN' terminal capability if you want to
+ have a terminal type dependent setting.
+
+
+File: screen.info, Node: Obuflimit, Next: Character Translation, Prev: Autonuke, Up: Termcap
+
+Obuflimit
+=========
+
+ - Command: obuflimit [LIMIT]
+ (none)
+ If the output buffer contains more bytes than the specified limit,
+ no more data will be read from the windows. The default value is
+ 256. If you have a fast display (like `xterm'), you can set it to
+ some higher value. If no argument is specified, the current
+ setting is displayed. This property is set per display, not per
+ window.
+
+ - Command: defobuflimit LIMIT
+ (none)
+ Same as the `obuflimit' command except that the default setting
+ for new displays is also changed. Initial setting is 256 bytes.
+ Note that you can use the special `OL' terminal capability if you
+ want to have a terminal type dependent limit.
+
+
+File: screen.info, Node: Character Translation, Prev: Obuflimit, Up: Termcap
+
+Character Translation
+=====================
+
+ `Screen' has a powerful mechanism to translate characters to
+arbitrary strings depending on the current font and terminal type. Use
+this feature if you want to work with a common standard character set
+(say ISO8851-latin1) even on terminals that scatter the more unusual
+characters over several national language font pages.
+
+ Syntax:
+
+ XC=<CHARSET-MAPPING>{,,<CHARSET-MAPPING>}
+ <CHARSET-MAPPING> := <DESIGNATOR><TEMPLATE>{,<MAPPING>}
+ <MAPPING> := <CHAR-TO-BE-MAPPED><TEMPLATE-ARG>
+
+ The things in braces may be repeated any number of times.
+
+ A <CHARSET-MAPPING> tells screen how to map characters in font
+<DESIGNATOR> (`B': Ascii, `A': UK, `K': german, etc.) to strings. Every
+<MAPPING> describes to what string a single character will be
+translated. A template mechanism is used, as most of the time the codes
+have a lot in common (for example strings to switch to and from another
+charset). Each occurence of `%' in <TEMPLATE> gets substituted with the
+TEMPLATE-ARG specified together with the character. If your strings are
+not similar at all, then use `%' as a template and place the full
+string in <TEMPLATE-ARG>. A quoting mechanism was added to make it
+possible to use a real `%'. The `\' character quotes the special
+characters `\', `%', and `,'.
+
+ Here is an example:
+
+ termcap hp700 'XC=B\E(K%\E(B,\304[,\326\\\\,\334]'
+
+ This tells `screen', how to translate ISOlatin1 (charset `B') upper
+case umlaut characters on a `hp700' terminal that has a german charset.
+`\304' gets translated to `\E(K[\E(B' and so on. Note that this line
+gets parsed *three* times before the internal lookup table is built,
+therefore a lot of quoting is needed to create a single `\'.
+
+ Another extension was added to allow more emulation: If a mapping
+translates the unquoted `%' char, it will be sent to the terminal
+whenever screen switches to the corresponding <DESIGNATOR>. In this
+special case the template is assumed to be just `%' because the charset
+switch sequence and the character mappings normaly haven't much in
+common.
+
+ This example shows one use of the extension:
+ termcap xterm 'XC=K%,%\E(B,[\304,\\\\\326,]\334'
+
+ Here, a part of the german (`K') charset is emulated on an xterm.
+If screen has to change to the `K' charset, `\E(B' will be sent to the
+terminal, i.e. the ASCII charset is used instead. The template is just
+`%', so the mapping is straightforward: `[' to `\304', `\' to `\326',
+and `]' to `\334'.
+
+
+File: screen.info, Node: Message Line, Next: Logging, Prev: Termcap, Up: Top
+
+The Message Line
+****************
+
+ `screen' displays informational messages and other diagnostics in a
+"message line" at the bottom of the screen. If your terminal has a
+status line defined in its termcap, screen will use this for displaying
+its messages, otherwise the last line of the screen will be temporarily
+overwritten and output will be momentarily interrupted. The message
+line is automatically removed after a few seconds delay, but it can also
+be removed early (on terminals without a status line) by beginning to
+type.
+
+* Menu:
+
+* Privacy Message:: Using the message line from your program.
+* Hardware Status Line:: Use the terminal's hardware status line.
+* Last Message:: Redisplay the last message.
+* Message Wait:: Control how long messages are displayed.
+
+
+File: screen.info, Node: Privacy Message, Next: Hardware Status Line, Up: Message Line
+
+Using the message line from your program
+========================================
+
+ The message line facility can be used by an application running in
+the current window by means of the ANSI "Privacy message" control
+sequence. For instance, from within the shell, try something like:
+
+ echo "^Hello world from window $WINDOW\"
+
+ where `' is ASCII ESC and `^' is a literal caret or up-arrow.
+
+
+File: screen.info, Node: Hardware Status Line, Next: Last Message, Prev: Privacy Message, Up: Message Line
+
+Hardware Status Line
+====================
+
+ - Command: hardstatus [STATE]
+ (none)
+ Toggles the use of the terminal's hardware status line. If `on',
+ `screen' will use this facility to display one line messages.
+ Otherwise these messages are overlayed in reverse video mode at the
+ display line. Note that the hardstatus feature can only be used if
+ the termcap/terminfo capabilities "hs", "ts", "fs" and "ds" are set
+ properly. Default is `on' whenever the "hs" capability is present.
+
+
+File: screen.info, Node: Last Message, Next: Message Wait, Prev: Hardware Status Line, Up: Message Line
+
+Display Last Message
+====================
+
+ - Command: lastmsg
+ (`C-a m', `C-a C-m')
+ Repeat the last message displayed in the message line. Useful if
+ you're typing when a message appears, because (unless your
+ terminal has a hardware status line) the message goes away when
+ you press a key.
+
+
+File: screen.info, Node: Message Wait, Prev: Last Message, Up: Message Line
+
+Message Wait
+============
+
+ - Command: msgminwait SEC
+ (none)
+ Defines the time `screen' delays a new message when another is
+ currently displayed. Defaults to 1 second.
+
+ - Command: msgwait SEC
+ (none)
+ Defines the time a message is displayed, if `screen' is not
+ disturbed by other activity. Defaults to 5 seconds.
+
+
+File: screen.info, Node: Logging, Next: Startup, Prev: Message Line, Up: Top
+
+Logging
+*******
+
+ This section describes the commands for keeping a record of your
+session.
+
+* Menu:
+
+* Hardcopy:: Dump the current screen to a file
+* Log:: Log the output of a window to a file
+
+
+File: screen.info, Node: Hardcopy, Next: Log, Up: Logging
+
+hardcopy
+========
+
+ - Command: hardcopy
+ (`C-a h', `C-a C-h')
+ Writes out the current display contents to the file `hardcopy.N'
+ in the window's default directory, where N is the number of the
+ current window. This either appends or overwrites the file if it
+ exists, as determined by the `hardcopy_append' command.
+
+ - Command: hardcopy_append STATE
+ (none)
+ If set to `on', `screen' will append to the `hardcopy.N' files
+ created by the command `hardcopy'; otherwise, these files are
+ overwritten each time.
+
+ - Command: hardcopydir DIRECTORY
+ (none)
+ Defines a directory where hardcopy files will be placed. If unset
+ hardcopys are dumped in screen's current working directory.
+
+
+File: screen.info, Node: Log, Prev: Hardcopy, Up: Logging
+
+log
+===
+
+ - Command: log [STATE]
+ (`C-a H')
+ Begins/ends logging of the current window to the file
+ `screenlog.N' in the window's default directory, where N is the
+ number of the current window. This filename can be changed with
+ the `logfile' command. If no parameter is given, the logging
+ state is toggled. The session log is appended to the previous
+ contents of the file if it already exists. The current contents
+ and the contents of the scrollback history are not included in the
+ session log. Default is `off'.
+
+ - Command: logfile FILENAME
+ (none)
+ Defines the name the logfiles will get. The default is
+ `screenlog.%n'.
+
+
+File: screen.info, Node: Startup, Next: Miscellaneous, Prev: Logging, Up: Top
+
+Startup
+*******
+
+ This section describes commands which are only useful in the
+`.screenrc' file, for use at startup.
+
+* Menu:
+
+* echo:: Display a message.
+* sleep:: Pause execution of the `.screenrc'.
+* Startup Message:: Control display of the copyright notice.
+
+
+File: screen.info, Node: echo, Next: sleep, Up: Startup
+
+echo
+====
+
+ - Command: echo [-n] MESSAGE
+ (none)
+ The echo command may be used to annoy `screen' users with a
+ 'message of the day'. Typically installed in a global screenrc.
+ The option `-n' may be used to suppress the line feed. See also
+ `sleep'. Echo is also useful for online checking of environment
+ variables.
+
+
+File: screen.info, Node: sleep, Next: Startup Message, Prev: echo, Up: Startup
+
+sleep
+=====
+
+ - Command: sleep NUM
+ (none)
+ This command will pause the execution of a .screenrc file for NUM
+ seconds. Keyboard activity will end the sleep. It may be used to
+ give users a chance to read the messages output by `echo'.
+
+
+File: screen.info, Node: Startup Message, Prev: sleep, Up: Startup
+
+Startup Message
+===============
+
+ - Command: startup_message STATE
+ (none)
+ Select whether you want to see the copyright notice during startup.
+ Default is `on', as you probably noticed.
+
+
+File: screen.info, Node: Miscellaneous, Next: Environment, Prev: Startup, Up: Top
+
+Miscellaneous commands
+**********************
+
+ The commands described here do not fit well under any of the other
+categories.
+
+* Menu:
+
+* At:: Execute a command at other displays or windows.
+* Break:: Send a break signal to the window.
+* Debug:: Suppress/allow debugging output.
+* License:: Display the disclaimer page.
+* Nethack:: Use `nethack'-like error messages.
+* Number:: Change the current window's number.
+* Silence:: Notify on inactivity.
+* Time:: Display the time and load average.
+* Version:: Display the version of `screen'.
+* Zombie:: Keep dead windows.
+* Printcmd:: Set command for VT100 printer port emulation.
+* Sorendition:: Change the text highlighting method.
+
+
+File: screen.info, Node: At, Next: Break, Up: Miscellaneous
+
+At
+==
+
+ - Command: at [IDENTIFIER][#|*|%] COMMAND [ARGS]
+ (none)
+ Execute a command at other displays or windows as if it had been
+ entered there. `At' changes the context (the `current window' or
+ `current display' setting) of the command. If the first parameter
+ describes a non-unique context, the command will be executed
+ multiple times. If the first parameter is of the form
+ `IDENTIFIER*' then identifier is matched against user names. The
+ command is executed once for each display of the selected user(s).
+ If the first parameter is of the form `IDENTIFIER%' identifier is
+ matched against displays. Displays are named after the ttys they
+ attach. The prefix `/dev/' or `/dev/tty' may be omitted from the
+ identifier. If IDENTIFIER has a `#' or nothing appended it is
+ matched against window numbers and titles. Omitting an identifier
+ in front of the `#', `*' or `%' character selects all users,
+ displays or windows because a prefix-match is performed. Note that
+ on the affected display(s) a short message will describe what
+ happened. Caution: Permission is checked for the owners or the
+ affected display(s), not for the initiator of the `at' command.
+
+
+File: screen.info, Node: Break, Next: Debug, Prev: At, Up: Miscellaneous
+
+Break
+=====
+
+ - Command: break [DURATION]
+ (none)
+ Send a break signal for DURATION*0.25 seconds to this window.
+ Most useful if a character device is attached to the window rather
+ than a shell process.
+
+ - Command: pow_break
+ (none)
+ Reopen the window's terminal line and send a break condition.
+
+
+File: screen.info, Node: Debug, Next: License, Prev: Break, Up: Miscellaneous
+
+Debug
+=====
+
+ - Command: debug [ON|OFF]
+ (none)
+ Turns runtime debugging on or off. If `screen' has been compiled
+ with option `-DDEBUG' debugging is available and is turned on per
+ default. Note that this command only affects debugging output
+ from the main `SCREEN' process.
+
+
+File: screen.info, Node: License, Next: Nethack, Prev: Debug, Up: Miscellaneous
+
+License
+=======
+
+ - Command: license
+ (none)
+ Display the disclaimer page. This is done whenever `screen' is
+ started without options, which should be often enough.
+
+
+File: screen.info, Node: Nethack, Next: Number, Prev: License, Up: Miscellaneous
+
+Nethack
+=======
+
+ - Command: nethack STATE
+ (none)
+ Changes the kind of error messages used by `screen'. When you are
+ familiar with the game `nethack', you may enjoy the nethack-style
+ messages which will often blur the facts a little, but are much
+ funnier to read. Anyway, standard messages often tend to be
+ unclear as well.
+
+ This option is only available if `screen' was compiled with the
+ NETHACK flag defined (*note Installation::.). The default setting
+ is then determined by the presence of the environment variable
+ `$NETHACKOPTIONS'.
+
+
+File: screen.info, Node: Number, Next: Silence, Prev: Nethack, Up: Miscellaneous
+
+Number
+======
+
+ - Command: number [N]
+ (`C-a N')
+ Change the current window's number. If the given number N is
+ already used by another window, both windows exchange their
+ numbers. If no argument is specified, the current window number
+ (and title) is shown.
+
+
+File: screen.info, Node: Silence, Next: Time, Prev: Number, Up: Miscellaneous
+
+Silence
+=======
+
+ - Command: silence [STATE|SEC]
+ (none)
+ Toggles silence monitoring of windows. When silence is turned on
+ and an affected window is switched into the background, you will
+ receive the silence notification message in the status line after
+ a specified period of inactivity (silence). The default timeout
+ can be changed with the `silencewait' command or by specifying a
+ number of seconds instead of `on' or `off'. Silence is initially
+ off for all windows.
+
+ - Command: silencewait SECONDS
+ (none)
+ Define the time that all windows monitored for silence should wait
+ before displaying a message. Default is 30 seconds.
+
+
+File: screen.info, Node: Time, Next: Version, Prev: Silence, Up: Miscellaneous
+
+Time
+====
+
+ - Command: time
+ (`C-a t', `C-a C-t')
+ Uses the message line to display the time of day, the host name,
+ and the load averages over 1, 5, and 15 minutes (if this is
+ available on your system). For window-specific information use
+ `info' (*note Info::.).
+
+
+File: screen.info, Node: Version, Next: Zombie, Prev: Time, Up: Miscellaneous
+
+Version
+=======
+
+ - Command: version
+ (`C-a v')
+ Display the version and modification date in the message line.
+
+
+File: screen.info, Node: Zombie, Next: Printcmd, Prev: Version, Up: Miscellaneous
+
+Zombie
+======
+
+ - Command: zombie [KEYX]
+ - Command: defzombie [KEYX]
+ (none)
+ Per default windows are removed from the window list as soon as the
+ windows process (e.g. shell) exits. When a string of two keys is
+ specified to the zombie command, `dead' windows will remain in the
+ list. The `kill' kommand may be used to remove the window.
+ Pressing the first key in the dead window has the same effect.
+ Pressing the second key, however, screen will attempt to resurrect
+ the window. The process that was initially running in the window
+ will be launched again. Calling `zombie' without parameters will
+ clear the zombie setting, thus making windows disappear when the
+ process terminates.
+
+ As the zombie setting is affected globally for all windows, this
+ command should only be called `defzombie'. Until we need this as a
+ per window setting, the commands `zombie' and `defzombie' are
+ synonymous.
+
+
+File: screen.info, Node: Printcmd, Next: Sorendition, Prev: Zombie, Up: Miscellaneous
+
+Printcmd
+========
+
+ - Command: printcmd [CMD]
+ (none)
+ If CMD is not an empty string, screen will not use the terminal
+ capabilities `po/pf' for printing if it detects an ansi print
+ sequence `ESC [ 5 i', but pipe the output into CMD. This should
+ normally be a command like `lpr' or `cat > /tmp/scrprint'.
+ `Printcmd' without an argument displays the current setting. The
+ ansi sequence `ESC \' ends printing and closes the pipe.
+
+ Warning: Be careful with this command! If other user have write
+ access to your terminal, they will be able to fire off print
+ commands.
+
+
+File: screen.info, Node: Sorendition, Prev: Printcmd, Up: Miscellaneous
+
+Sorendition
+===========
+
+ - Command: sorendition [ATTR [COLOR]]
+ (none)
+ Change the way screen does highlighting for text marking and
+ printing messages. ATTR is a hexadecimal number and describes the
+ attributes (inverse, underline, ...) the text will get. COLOR is
+ a 2 digit number and changes the forground/background of the
+ highlighted text. Some knowledge of screen's internal character
+ representation is needed to make the characters appear in the
+ desired way. The default is currently `10 99' (standout, default
+ colors).
+
+
+File: screen.info, Node: Environment, Next: Files, Prev: Miscellaneous, Up: Top
+
+Environment Variables
+*********************
+
+`COLUMNS'
+ Number of columns on the terminal (overrides termcap entry).
+
+`HOME'
+ Directory in which to look for .screenrc.
+
+`ISCREENRC'
+ Alternate user screenrc file.
+
+`LINES'
+ Number of lines on the terminal (overrides termcap entry).
+
+`LOCKPRG'
+ Screen lock program.
+
+`NETHACKOPTIONS'
+ Turns on `nethack' option.
+
+`PATH'
+ Used for locating programs to run.
+
+`SCREENCAP'
+ For customizing a terminal's `TERMCAP' value.
+
+`SCREENDIR'
+ Alternate socket directory.
+
+`SCREENRC'
+ Alternate user screenrc file.
+
+`SHELL'
+ Default shell program for opening windows (default `/bin/sh').
+
+`STY'
+ Alternate socket name. If `screen' is invoked, and the environment
+ variable `STY' is set, then it creates only a window in the
+ running `screen' session rather than starting a new session.
+
+`SYSSCREENRC'
+ Alternate system screenrc file.
+
+`TERM'
+ Terminal name.
+
+`TERMCAP'
+ Terminal description.
+
+
+File: screen.info, Node: Files, Next: Credits, Prev: Environment, Up: Top
+
+Files Referenced
+****************
+
+`.../screen-3.?.??/etc/screenrc'
+`.../screen-3.?.??/etc/etcscreenrc'
+ Examples in the `screen' distribution package for private and
+ global initialization files.
+
+``$SYSSCREENRC''
+`/local/etc/screenrc'
+ `screen' initialization commands
+
+``$ISCREENRC''
+``$SCREENRC''
+``$HOME'/.iscreenrc'
+``$HOME'/.screenrc'
+ Read in after /local/etc/screenrc
+
+``$ISCREENDIR'/S-LOGIN'
+``$SCREENDIR'/S-LOGIN'
+`/local/screens/S-LOGIN'
+ Socket directories (default)
+
+`/usr/tmp/screens/S-LOGIN'
+ Alternate socket directories.
+
+`SOCKET DIRECTORY/.termcap'
+ Written by the `dumptermcap' command
+
+`/usr/tmp/screens/screen-exchange or'
+`/tmp/screen-exchange'
+ `screen' interprocess communication buffer
+
+`hardcopy.[0-9]'
+ Screen images created by the hardcopy command
+
+`screenlog.[0-9]'
+ Output log files created by the log command
+
+`/usr/lib/terminfo/?/* or'
+`/etc/termcap'
+ Terminal capability databases
+
+`/etc/utmp'
+ Login records
+
+``$LOCKPRG''
+ Program for locking the terminal.
+
+
+File: screen.info, Node: Credits, Next: Bugs, Prev: Files, Up: Top
+
+Credits
+*******
+
+Authors
+=======
+
+ Originally created by Oliver Laumann, this latest version was
+produced by Wayne Davison, Juergen Weigert and Michael Schroeder.
+
+Contributors
+============
+
+ Ken Beal (kbeal@amber.ssd.csd.harris.com),
+ Rudolf Koenig (rfkoenig@informatik.uni-erlangen.de),
+ Toerless Eckert (eckert@informatik.uni-erlangen.de),
+ Wayne Davison (davison@borland.com),
+ Patrick Wolfe (pat@kai.com, kailand!pat),
+ Bart Schaefer (schaefer@cse.ogi.edu),
+ Nathan Glasser (nathan@brokaw.lcs.mit.edu),
+ Larry W. Virden (lvirden@cas.org),
+ Howard Chu (hyc@hanauma.jpl.nasa.gov),
+ Tim MacKenzie (tym@dibbler.cs.monash.edu.au),
+ Markku Jarvinen (mta@{cc,cs,ee}.tut.fi),
+ Marc Boucher (marc@CAM.ORG),
+ Doug Siebert (dsiebert@isca.uiowa.edu),
+ Ken Stillson (stillson@tsfsrv.mitre.org),
+ Ian Frechett (frechett@spot.Colorado.EDU),
+ Brian Koehmstedt (bpk@gnu.ai.mit.edu),
+ Don Smith (djs6015@ultb.isc.rit.edu),
+ Frank van der Linden (vdlinden@fwi.uva.nl),
+ Martin Schweikert (schweik@cpp.ob.open.de),
+ David Vrona (dave@sashimi.lcu.com),
+ E. Tye McQueen (tye%spillman.UUCP@uunet.uu.net),
+ Matthew Green (mrgreen@mame.mu.oz.au),
+ Christopher Williams (cgw@unt.edu),
+ Matt Mosley (mattm@access.digex.net),
+ Gregory Neil Shapiro (gshapiro@wpi.WPI.EDU),
+ Jason Merrill (jason@jarthur.Claremont.EDU).
+
+Version
+=======
+
+ This manual describes version 3.7.0 of the `screen' program. Its
+roots are a merge of a custom version 2.3PR7 by Wayne Davison and
+several enhancements to Oliver Laumann's version 2.0. Note that all
+versions numbered 2.x are copyright by Oliver Laumann.
+
+ See also *Note Availability::.
+
+
+File: screen.info, Node: Bugs, Next: Installation, Prev: Credits, Up: Top
+
+Bugs
+****
+
+ Just like any other significant piece of software, `screen' has a
+few bugs and missing features. Please send in a bug report if you have
+found a bug not mentioned here.
+
+* Menu:
+
+* Known Bugs:: Problems we know about.
+* Reporting Bugs:: How to contact the maintainers.
+* Availability:: Where to find the lastest screen version.
+
+
+File: screen.info, Node: Known Bugs, Next: Reporting Bugs, Up: Bugs
+
+Known Bugs
+==========
+
+ * `dm' (delete mode) and `xs' are not handled correctly (they are
+ ignored). `xn' is treated as a magic-margin indicator.
+
+ * `screen' has no clue about double-high or double-wide characters.
+ But this is the only area where `vttest' is allowed to fail.
+
+ * It is not possible to change the environment variable `$TERMCAP'
+ when reattaching under a different terminal type.
+
+ * The support of terminfo based systems is very limited. Adding extra
+ capabilities to `$TERMCAP' may not have any effects.
+
+ * `screen' does not make use of hardware tabs.
+
+ * `screen' must be installed setuid root in order to be able to
+ correctly change the owner of the tty device file for each window.
+ Special permission may also be required to write the file
+ `/etc/utmp'.
+
+ * Entries in `/etc/utmp' are not removed when `screen' is killed
+ with SIGKILL. This will cause some programs (like "w" or "rwho")
+ to advertise that a user is logged on who really isn't.
+
+ * `screen' may give a strange warning when your tty has no utmp
+ entry.
+
+ * When the modem line was hung up, `screen' may not automatically
+ detach (or quit) unless the device driver sends a HANGUP signal.
+ To detach such a `screen' session use the -D or -d command line
+ option.
+
+ * A weird imagination is most useful to gain full advantage of all
+ the features.
+