diff options
author | Axel Beckert <abe@deuxchevaux.org> | 2011-09-03 14:05:25 +0200 |
---|---|---|
committer | Axel Beckert <abe@deuxchevaux.org> | 2011-09-03 14:05:25 +0200 |
commit | 9d943c7539f59f42ba8f8052497dc541fe5f0167 (patch) | |
tree | c8725127bf7a68d3d7fe57adca45c204b25adf21 /doc | |
parent | 0e9a09d7718f02726b12924f7ddb05a992202aa3 (diff) | |
download | screen-9d943c7539f59f42ba8f8052497dc541fe5f0167.tar.gz |
Imported Upstream version 4.0.2upstream/4.0.2
Diffstat (limited to 'doc')
-rw-r--r-- | doc/screen.1 | 255 | ||||
-rw-r--r-- | doc/screen.info | 326 | ||||
-rw-r--r-- | doc/screen.info-1 | 180 | ||||
-rw-r--r-- | doc/screen.info-2 | 358 | ||||
-rw-r--r-- | doc/screen.info-3 | 450 | ||||
-rw-r--r-- | doc/screen.info-4 | 708 | ||||
-rw-r--r-- | doc/screen.info-5 | 324 | ||||
-rw-r--r-- | doc/screen.texinfo | 251 |
8 files changed, 1662 insertions, 1190 deletions
diff --git a/doc/screen.1 b/doc/screen.1 index aad6aef..348d357 100644 --- a/doc/screen.1 +++ b/doc/screen.1 @@ -1,5 +1,5 @@ .\" vi:set wm=5 -.TH SCREEN 1 "Jan 2002" +.TH SCREEN 1 "Aug 2003" .if n .ds Q \&" .if n .ds U \&" .if t .ds Q `` @@ -130,7 +130,7 @@ deals with the contents of your .screenrc. .PP If your terminal is a \*Qtrue\*U auto-margin terminal (it doesn't allow the last position on the screen to be updated without scrolling the -screen) consider to use a version of your terminal's termcap that has +screen) consider using a version of your terminal's termcap that has automatic margins turned \fIoff\fP. This will ensure an accurate and optimal update of the screen in all circumstances. Most terminals nowadays have \*Qmagic\*U margins (automatic margins plus usable last @@ -253,9 +253,7 @@ Ask your system administrator if you are not sure. Remove sessions with the .B \-L tells .I screen -your auto-margin terminal has a writable last-position on -the screen. This can also be set in your .screenrc by specifying `LP' in a -\*Qtermcap\*U command. +to turn on automatic output logging for the windows. .TP 5 .B \-m causes @@ -284,6 +282,13 @@ emulation (only affects auto-margin terminals without `LP'). This can also be set in your .screenrc by specifying `OP' in a \*Qtermcap\*U command. .TP 5 +.BI "\-p " number_or_name +Preselect a window. This is usefull when you want to reattach to a +specific windor or you want to send a command via the \*Q-X\*U +option to a specific window. As with screen's select commant, \*Q-\*U +selects the blank window. As a special case for reattach, \*Q=\*U +brings up the windowlist on the blank window. +.TP 5 .B \-q Suppress printing of error messages. In combination with \*Q-ls\*U the exit value is as follows: 9 indicates a directory without sessions. 10 @@ -748,6 +753,12 @@ on all windows overriding the \*Qpartial\*U settings. It does not change the default redraw behavior of newly created windows. .sp .ne 3 +.BR "altscreen on" | off +.PP +If set to on, "alternate screen" support is enabled in virtual terminals, +just like in xterm. Initial setting is `off'. +.sp +.ne 3 .BR "at " "[\fIidentifier\fP][" "#\fP|\fP*\fP|\fP%\fP] " .IR "command " [ args " ... ]" .PP @@ -777,7 +788,7 @@ once per window. Commands that change the internal arrangement of windows (like \*Qother\*U) may be called again. In shared windows the command will be repeated for each attached display. Beware, when issuing toggle commands like \*Qlogin\*U! -Some commands (e.g. \*Qstuff\*U, \*Qprocess\*U or \*Qpaste\*U) require that +Some commands (e.g. \*Qprocess\*U) require that a display is associated with the target windows. These commands may not work correctly under \*Qat\*U looping over windows. .sp @@ -804,7 +815,7 @@ attrcolor u "-u b" .PP Use blue text instead of underline. .IP -attrcolor b "I" +attrcolor b ".I" .PP Use bright colors for bold text. Most terminal emulators do this already. @@ -834,6 +845,35 @@ that has not been written to the terminal. See also \*Qobuflimit\*U. .sp .ne 3 +.BI "backtick " id +.I lifespan +.I autorefresh +.I cmd +.I args... +.br +.BI "backtick " id +.PP +Program the backtick command with the numerical id \fIid\fP. +The output of such a command is used for substitution of the +\*Q%`\*U string escape. The specified \fIlifespan\fP is the number +of seconds the output is considered valid. After this time, the +command is run again if a corresponding string escape is encountered. +The \fIautorefresh\fP parameter triggers an +automatic refresh for caption and hardstatus strings after the +specified number of seconds. Only the last line of output is used +for substitution. +.br +If both the \fIlifespan\fP and the \fIautorefresh\fP parameters +are zero, the backtick program is expected to stay in the +background and generate output once in a while. +In this case, the command is executed right away and screen stores +the last line of output. If a new line gets printed screen will +automatically refresh the hardstatus or the captions. +.br +The second form of the command deletes the backtick command +with the numerical id \fIid\fP. +.sp +.ne 3 .BR "bce " [ on | off ] .PP Change background-color-erase setting. If \*Qbce\*U is set to on, all @@ -1023,6 +1063,24 @@ a shell process (See also chapter \*QWINDOW TYPES\*U). The maximum duration of a break signal is limited to 15 seconds. .sp .ne 3 +.B blanker +.PP +Activate the screen blanker. First the screen is cleared. If no blanker +program is defined, the cursor is turned off, otherwise, the +program is started and it's output is written to the screen. +The screen blanker is killed with the first keypress, the read key +is discarded. +.br +This command is normally used together with the \*Qidle\*U command. +.sp +.ne 3 +.B blankerprg +.RI [ "program args" ] +.PP +Defines a blanker program. Disables the blanker program if no +arguments are given. +.sp +.ne 3 .B breaktype .RI [ tcsendbreak | TIOCSBRK .RI | TCSBRK ] @@ -1154,7 +1212,7 @@ class. See also \*Qbind\*U and \*Qbindkey\*U. .ne 3 .BR "compacthist " [ on | off ] .PP -This tells screen weather to suppress trailing blank lines when +This tells screen whether to suppress trailing blank lines when scrolling up text into the history buffer. .sp .ne 3 @@ -1200,6 +1258,9 @@ of the top, center or bottom line of the window. \fBw\fP, \fBb\fP, \fBe\fP move the cursor word by word. .br .ti -2n +\fBB\fP, \fBE\fP move the cursor WORD by WORD (as in vi). +.br +.ti -2n \fBC-u\fP and \fBC-d\fP scroll the display up/down by the specified amount of lines while preserving the cursor position. (Default: half screen-full). .br @@ -1474,6 +1535,13 @@ Same as the \fBmonitor\fP command except that the default setting for new windows is changed. Initial setting is `off'. .sp .ne 3 +.B defnonblock +.BR on | off | \fInumsecs +.PP +Same as the \fBnonblock\fP command except that the default setting for +displays is changed. Initial setting is `off'. +.sp +.ne 3 .BI "defobuflimit " limit .PP Same as the \fBobuflimit\fP command except that the default setting for new displays is changed. Initial setting is 256 bytes. @@ -1607,6 +1675,27 @@ See also \*Qsleep\*U. Echo is also useful for online checking of environment variables. .sp .ne 3 +.BI "encoding " enc +.RI [ enc ] +.PP +Tell +.I screen +how to interpret the input/output. The first argument +sets the encoding of the current window. Each window can emulate +a different encoding. The optional second parameter overwrites +the encoding of the connected terminal. It should never be +needed as screen uses the locale setting to detect the encoding. +There is also a way to select a terminal encoding depending on +the terminal type by using the \*QKJ\*U termcap entry. + +Supported encodings are eucJP, SJIS, eucKR, eucCN, Big5, GBK, KOI8-R, +CP1251, UTF-8, ISO8859-2, ISO8859-3, ISO8859-4, ISO8859-5, ISO8859-6, +ISO8859-7, ISO8859-8, ISO8859-9, ISO8859-10, ISO8859-15, jis. + +See also \*Qdefencoding\*U, which changes the default setting of a new +window. +.sp +.ne 3 .BI "escape " xy .PP Set the command character to \fIx\fP and the character generating a literal @@ -1624,7 +1713,7 @@ The default is \*Q^Aa\*U. .RI [ command2 .IR ... ] .PP -Parses and executes each argument as seperate command. +Parses and executes each argument as separate command. .sp .ne 3 .B exec @@ -1820,7 +1909,7 @@ message mechanism and \*Qignore\*U tells .I screen never to display the hardstatus. -If you prepend the word \*Qalways\*U to the type, +If you prepend the word \*Qalways\*U to the type (e.g., \*Qalwayslastline\*U), .I screen will use the type even if the terminal supports a hardstatus. .P @@ -1889,9 +1978,21 @@ scrollback buffer). Change the window's hardstatus line to the string \fIstatus\fP. .sp .ne 3 +.B idle +.RI [ timeout +.RI [ "cmd args" ]] +.PP +Sets a command that is run after the specified number of seconds +inactivity is reached. This command will normally be the \*Qblanker\*U +command to create a screen blanker, but it can be any screen command. +If no command is specified, only the timeout is set. A timeout of +zero (ot the special timeout \fBoff\fP) disables the timer. +If no arguments are given, the current settings are displayed. +.sp +.ne 3 .BR "ignorecase " [ on | off ] .PP -Tell screen to ignore the case of caracters in searches. Default is +Tell screen to ignore the case of characters in searches. Default is `off'. .sp .ne 3 @@ -1916,7 +2017,6 @@ The current line wrap setting (`+wrap' indicates enabled, `\-wrap' not) is also shown. The flags `ins', `org', `app', `log', `mon' or `nored' are displayed when the window is in insert mode, origin mode, application-keypad mode, has output logging, -insert mode, origin mode, application-keypad mode, output logging, activity monitoring or partial redraw enabled. The currently active character set (\fIG0\fP, \fIG1\fP, \fIG2\fP, @@ -1937,27 +2037,6 @@ For system information use the \*Qtime\*U command. No longer exists, use \*Qpaste\*U instead. .sp .ne 3 -.BI "encoding " enc -.RI [ enc ] -.PP -Tell -.I screen -how to interpret the input/output. The first argument -sets the encoding of the current window. Each window can emulate -a different encoding. The optional second parameter overwrites -the encoding of the connected terminal. It should never be -needed as screen uses the locale setting to detect the encoding. -There is also a way to select a terminal encoding depending on -the terminal type by using the \*QKJ\*U termcap entry. - -Supported encodings are eucJP, SJIS, eucKR, eucCN, Big5, KOI8-R, -CP1251, UTF-8, ISO8859-2, ISO8859-3, ISO8859-4, ISO8859-5, ISO8859-6, -ISO8859-7, ISO8859-8, ISO8859-9, ISO8859-10, ISO8859-15, jis. - -See also \*Qdefencoding\*U, which changes the default setting of a new -window. -.sp -.ne 3 .B kill .PP Kill current window. @@ -2120,6 +2199,12 @@ As shown in this example, multiple keys can be assigned to one function in a single statement. .sp .ne 3 +.BI "maxwin " num +.PP +Set the maximum window number screen will create. Doesn't affect +already existing windows. The number may only be decreased. +.sp +.ne 3 .B meta .PP Insert the command character (C-a) in the current window's input stream. @@ -2185,12 +2270,18 @@ This command can be used repeatedly to cycle through the list of windows. .sp .ne 3 .B nonblock -.RB [ on | off ] +.RB [ on | off | \fInumsecs ] .PP -Enable or disable flow control for the current user interface (display). -It is used to prevent a slow display from slowing down the processing of -data output by a window. This command may be helpful when multiple displays -show the same window. Nonblock is initially off for all displays. +Tell screen how to deal with user interfaces (displays) that cease to +accept output. This can happen if a user presses ^S or a TCP/modem +connection gets cut but no hangup is received. If nonblock is +\fBoff\fP (this is the default) screen waits until the display +restarts to accept the output. If nonblock is \fBon\fP, screen +waits until the timeout is reached (\fBon\fP is treated as 1s). If the +display still doesn't receive characters, screen will consider +it \*Qblocked\*U and stop sending characters to it. If at +some time it restarts to accept characters, screen will unblock +the display and redisplay the updated window contents. .sp .ne 3 .BR "number " [ \fIn ] @@ -2487,14 +2578,17 @@ current setting. .BR "select " [ \fIWindowID ] .PP Switch to the window identified by \fIWindowID\fP. -This can be a prefix of a window title (alphanumeric window name) or a window -number. +This can be a prefix of a window title (alphanumeric window name) or a +window number. The parameter is optional and if omitted, you get prompted for an identifier. When a new window is established, the first available number is assigned to this window. Thus, the first window can be activated by \*Qselect 0\*U. The number of windows is limited at compile-time by the MAXWIN configuration parameter. +There are two special WindowIDs, \*Q-\*U selects the +internal blank window and \*Q.\*U selects the current window. The +latter is useful if used with screen's \*Q-X\*U option. .sp .ne .BR "sessionname " [ \fIname ] @@ -2583,7 +2677,7 @@ text. .PP Read and execute commands from file \fIfile\fP. Source commands may be nested to a maximum recursion level of ten. If file is not an -absolute path and screen already processes a source command, the +absolute path and screen is already processing a source command, the parent directory of the running source command file is used to search for the new command file before screen's current directory. @@ -2606,7 +2700,8 @@ The default is currently \*Q=s dd\*U (standout, default colors). .PP Split the current region into two new ones. All regions on the display are resized to make room for the new region. The blank -window is displayed on the new region. +window is displayed on the new region. Use the \*Qremove\*U or the +\*Qonly\*U command to delete regions. .sp .ne 3 .B "startup_message on\fP|\fBoff" @@ -2783,9 +2878,9 @@ described in the \*QSTRING ESCAPES\*U chapter. Screen uses a default of "%c:%s %M %d %H%? %l%?". .sp .ne 3 -.BR "title " [ \fIwindowalias ] +.BR "title " [ \fIwindowtitle ] .PP -Set the name of the current window to \fIwindowalias\fP. If no name is +Set the name of the current window to \fIwindowtitle\fP. If no name is specified, .I screen prompts for one. This command was known as `aka' in previous @@ -2878,9 +2973,14 @@ vice versa. .sp .ne 3 .B windowlist -.RB [ -b "] |" +.RB [ -b ] +.RB [ -m ] +.br +.B windowlist .B string -.RI [ string "] |" +.RI [ string ] +.br +.B windowlist .B title .RI [ title ] .PP @@ -2891,6 +2991,10 @@ If the .B -b option is given, screen will switch to the blank window before presenting the list, so that the current window is also selectable. +The +.B -m +option changes the order of the windows, instead of sorting by +window numbers screen uses its internal most-recently-used list. The table format can be changed with the \fBstring\fP and \fBtitle\fP option, the title is displayed as table heading, while @@ -2963,6 +3067,30 @@ Insert a CTRL-s / CTRL-q character to the stdin queue of the current window. .sp .ne 3 +.B zmodem +.RB [ off\fR|\fPauto\fR|\fPcatch\fR|\fPpass ] +.br +.B "zmodem sendcmd" +.RI [ string ] +.br +.B "zmodem recvcmd" +.RI [ string ] +.PP +Define zmodem support for screen. Screen understands two different +modes when it detects a zmodem request: \*Qpass\*U and \*Qcatch\*U. +If the mode is set to \*Qpass\*U, screen will relay all data +to the attacher until the end of the transmission is reached. +In \*Qcatch\*U mode screen acts as a zmodem endpoint and starts +the corresponding rz/sz commands. If the mode is set to \*Qauto\*U, +screen will use \*Qcatch\*U if the window is a tty (e.g. a serial line), +otherwise it will use \*Qpass\*U. +.br +You can define the templates screen uses in \*Qcatch\*U mode +via the second and the third form. +.br +Note also that this is an experimental feature. +.sp +.ne 3 .BR "zombie " [\fIkeys\fP] .br .BR "defzombie " [\fIkeys\fP] @@ -3175,8 +3303,8 @@ last two digits of the year number .IP Y full year number .IP ? -the part to the next '%?' is displayed only if an escape expands to an -nonempty string +the part to the next '%?' is displayed only if a '%' escape +inside the part expands to a non-empty string .IP : else part of '%?' .IP = @@ -3200,6 +3328,9 @@ operator.) The 'L' qualifier tells screen to mark the truncated parts with '...'. .IP { attribute/color modifier string terminated by the next \*Q}\*U +.IP ` +Substitute with the output of a 'backtick' command. The length +qualifier is misused to identify one of the commands. .P The 'c' and 'C' escape may be qualified with a '0' to make .I screen @@ -3226,9 +3357,11 @@ change the current attributes to the specified set .PP The attribute set can either be specified as a hexadecimal number or a combination of the following letters: +.IP d +dim +.PD 0 .IP u underline -.PD 0 .IP b bold .IP r @@ -3632,6 +3765,9 @@ 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. .PP +The "alternate screen" capability is not enabled by default. +Set the \fBaltscreen\fP .screenrc command to enable it. +.PP The following is a list of control sequences recognized by .IR screen . \*Q(V)\*U and \*Q(A)\*U indicate VT100-specific and ANSI- or @@ -3959,9 +4095,18 @@ X10 mouse tracking \h'\w'ESC [ Ps = 'u'\fB?25\fP (V) Visible Cursor .TP 27 +\h'\w'ESC [ Ps = 'u'\fB?47\fP +Alternate Screen (old xterm code) +.TP 27 \h'\w'ESC [ Ps = 'u'\fB?1000\fP (V) VT200 mouse tracking .TP 27 +\h'\w'ESC [ Ps = 'u'\fB?1047\fP +Alternate Screen (new xterm code) +.TP 27 +\h'\w'ESC [ Ps = 'u'\fB?1049\fP +Alternate Screen (new xterm code) +.TP 27 .BR "ESC [ 5 i" " (A)" Start relay to printer (ANSI Media Copy) .TP 27 @@ -4265,8 +4410,8 @@ Window number of a window (at creation time). .SH FILES .PD 0 -.IP .../screen-3.?.??/etc/screenrc 34 -.IP .../screen-3.?.??/etc/etcscreenrc +.IP .../screen-4.?.??/etc/screenrc 34 +.IP .../screen-4.?.??/etc/etcscreenrc Examples in the .I screen distribution package for private and global initialization files. @@ -4313,7 +4458,7 @@ produced by Wayne Davison, Juergen Weigert and Michael Schroeder. .SH COPYLEFT .nf -Copyright (C) 1993-2002 +Copyright (C) 1993-2003 Juergen Weigert (jnweiger@immd4.informatik.uni-erlangen.de) Michael Schroeder (mlschroe@immd4.informatik.uni-erlangen.de) Copyright (C) 1987 Oliver Laumann @@ -4357,8 +4502,8 @@ 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 (mrg@mame.mu.oz.au), -Christopher Williams (cgw@unt.edu), +Matthew Green (mrg@eterna.com.au), +Christopher Williams (cgw@pobox.com), Matt Mosley (mattm@access.digex.net), Gregory Neil Shapiro (gshapiro@wpi.WPI.EDU), Johannes Zellner (johannes@zellner.org), @@ -4367,7 +4512,7 @@ Pablo Averbuj (pablo@averbuj.com). .SH VERSION -This is version 3.9.9. Its roots are a merge of a custom version +This is version 4.0.2. 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. diff --git a/doc/screen.info b/doc/screen.info index 25800d8..3a18ff3 100644 --- a/doc/screen.info +++ b/doc/screen.info @@ -1,4 +1,4 @@ -This is screen.info, produced by makeinfo version 4.0 from +This is screen.info, produced by makeinfo version 4.5 from ./screen.texinfo. INFO-DIR-SECTION General Commands @@ -8,7 +8,7 @@ END-INFO-DIR-ENTRY This file documents the `Screen' virtual terminal manager. - Copyright (c) 1993-2002 Free Software Foundation, Inc. + Copyright (c) 1993-2003 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 @@ -27,168 +27,172 @@ translation approved by the Foundation. Indirect: screen.info-1: 995 -screen.info-2: 50933 -screen.info-3: 100453 -screen.info-4: 149266 -screen.info-5: 195279 +screen.info-2: 46865 +screen.info-3: 92444 +screen.info-4: 140698 +screen.info-5: 190096 Tag Table: (Indirect) Node: Top995 -Node: Overview3004 -Node: Getting Started6634 -Node: Invoking Screen8389 -Node: Customization16916 -Node: Startup Files17462 -Node: Source19108 -Node: Colon19785 -Node: Commands20399 -Node: Default Key Bindings21356 -Node: Command Summary27035 -Node: New Window40444 -Node: Chdir41245 -Node: Screen Command42216 -Node: Setenv43917 -Node: Shell44437 -Node: Term45203 -Node: Window Types45984 -Node: Selecting50303 -Node: Next and Previous50933 -Node: Other Window51463 -Node: Select51871 -Node: Windowlist52549 -Node: Session Management53445 -Node: Detach54274 -Node: Power Detach55661 -Node: Lock56300 -Node: Multiuser Session57186 -Node: Multiuser58148 -Node: Acladd58535 -Node: Aclchg59100 -Node: Acldel60506 -Node: Aclgrp60841 -Node: Displays61492 -Node: Umask61786 -Node: Wall62735 -Node: Writelock62972 -Node: Su63868 -Node: Session Name64668 -Node: Suspend65215 -Node: Quit65547 -Node: Regions65971 -Node: Split66538 -Node: Focus66828 -Node: Only67406 -Node: Remove67570 -Node: Resize67778 -Node: Caption68426 -Node: Fit69183 -Node: Window Settings69485 -Node: Naming Windows70220 -Node: Title Command71721 -Node: Dynamic Titles71995 -Node: Title Prompts73531 -Node: Title Screenrc74612 -Node: Console76251 -Node: Kill76694 -Node: Login77583 -Node: Mode78400 -Node: Monitor78798 -Node: Windows80209 -Node: Hardstatus81269 -Node: Virtual Terminal82462 -Node: Control Sequences83520 -Node: Input Translation91007 -Node: Digraph95478 -Node: Bell96270 -Node: Clear98149 -Node: Info98352 -Node: Redisplay100453 -Node: Wrap101584 -Node: Reset102335 -Node: Window Size102653 -Node: Character Processing103506 -Node: Copy and Paste107824 -Node: Copy108429 -Node: Line Termination109276 -Node: Scrollback109685 -Node: Copy Mode Keys110422 -Node: Movement111236 -Node: Marking112390 -Node: Repeat count112765 -Node: Searching113079 -Node: Specials113470 -Node: Paste115424 -Node: Registers118182 -Node: Screen Exchange119274 -Node: History120679 -Node: Subprocess Execution121419 -Node: Exec121783 -Node: Using Exec123529 -Node: Key Binding125368 -Node: Bind126011 -Node: Bind Examples127255 -Node: Command Character128311 -Node: Help129946 -Node: Bindkey130554 -Node: Bindkey Examples132104 -Node: Bindkey Control132993 -Node: Flow Control133590 -Node: Flow Control Summary134166 -Node: Flow137100 -Node: XON/XOFF137874 -Node: Termcap138247 -Node: Window Termcap139104 -Node: Dump Termcap144345 -Node: Termcap Syntax145059 -Node: Termcap Examples147225 -Node: Special Capabilities149266 -Node: Autonuke152041 -Node: Obuflimit152691 -Node: Character Translation153520 -Node: Message Line156134 -Node: Privacy Message157045 -Node: Hardware Status Line157542 -Node: Last Message159215 -Node: Message Wait159642 -Node: Logging160068 -Node: Hardcopy160392 -Node: Log161327 -Node: Startup163104 -Node: echo163511 -Node: sleep163919 -Node: Startup Message164260 -Node: Miscellaneous164533 -Node: At165767 -Node: Break167761 -Node: Debug169407 -Node: License169884 -Node: Nethack170149 -Node: Nonblock170826 -Node: Number171280 -Node: Silence171650 -Node: Time172586 -Node: Verbose173178 -Node: Version173512 -Node: Zombie173721 -Node: Printcmd174775 -Node: Sorendition175481 -Node: Attrcolor175911 -Node: Setsid176960 -Node: Eval177477 -Node: String Escapes177671 -Node: Environment182807 -Node: Files183903 -Node: Credits184991 -Node: Bugs187001 -Node: Known Bugs187471 -Node: Reporting Bugs189565 -Node: Availability190331 -Node: Installation190875 -Node: Socket Directory191265 -Node: Compiling Screen191795 -Node: Concept Index193187 -Node: Command Index195279 -Node: Keystroke Index204113 +Node: Overview3003 +Node: Getting Started6633 +Node: Invoking Screen8387 +Node: Customization17073 +Node: Startup Files17619 +Node: Source19265 +Node: Colon19950 +Node: Commands20564 +Node: Default Key Bindings21521 +Node: Command Summary27200 +Node: New Window41325 +Node: Chdir42126 +Node: Screen Command43097 +Node: Setenv44798 +Node: Shell45318 +Node: Term46084 +Node: Window Types46865 +Node: Selecting51188 +Node: Next and Previous51818 +Node: Other Window52348 +Node: Select52756 +Node: Windowlist53571 +Node: Session Management54666 +Node: Detach55495 +Node: Power Detach56882 +Node: Lock57523 +Node: Multiuser Session58409 +Node: Multiuser59371 +Node: Acladd59758 +Node: Aclchg60323 +Node: Acldel61730 +Node: Aclgrp62065 +Node: Displays62716 +Node: Umask63010 +Node: Wall63959 +Node: Writelock64196 +Node: Su65092 +Node: Session Name65892 +Node: Suspend66439 +Node: Quit66771 +Node: Regions67195 +Node: Split67762 +Node: Focus68052 +Node: Only68630 +Node: Remove68794 +Node: Resize69002 +Node: Caption69650 +Node: Fit70407 +Node: Window Settings70709 +Node: Naming Windows71444 +Node: Title Command72945 +Node: Dynamic Titles73219 +Node: Title Prompts74755 +Node: Title Screenrc75836 +Node: Console77475 +Node: Kill77918 +Node: Login78807 +Node: Mode79624 +Node: Monitor80022 +Node: Windows81433 +Node: Hardstatus82493 +Node: Virtual Terminal83686 +Node: Control Sequences84744 +Node: Input Translation92444 +Node: Digraph96915 +Node: Bell97707 +Node: Clear99586 +Node: Info99789 +Node: Redisplay101818 +Node: Wrap103121 +Node: Reset103872 +Node: Window Size104190 +Node: Character Processing105043 +Node: Copy and Paste109368 +Node: Copy109973 +Node: Line Termination110820 +Node: Scrollback111229 +Node: Copy Mode Keys111966 +Node: Movement112780 +Node: Marking113985 +Node: Repeat count114360 +Node: Searching114674 +Node: Specials115066 +Node: Paste117020 +Node: Registers120075 +Node: Screen Exchange120868 +Node: History122273 +Node: Subprocess Execution123013 +Node: Exec123377 +Node: Using Exec125123 +Node: Key Binding126962 +Node: Bind127605 +Node: Bind Examples128849 +Node: Command Character129905 +Node: Help131540 +Node: Bindkey132148 +Node: Bindkey Examples133698 +Node: Bindkey Control134587 +Node: Flow Control135184 +Node: Flow Control Summary135760 +Node: Flow138694 +Node: XON/XOFF139468 +Node: Termcap139841 +Node: Window Termcap140698 +Node: Dump Termcap146059 +Node: Termcap Syntax146773 +Node: Termcap Examples148939 +Node: Special Capabilities150980 +Node: Autonuke153755 +Node: Obuflimit154405 +Node: Character Translation155234 +Node: Message Line157848 +Node: Privacy Message158759 +Node: Hardware Status Line159256 +Node: Last Message160959 +Node: Message Wait161386 +Node: Logging161812 +Node: Hardcopy162136 +Node: Log163071 +Node: Startup164848 +Node: echo165255 +Node: sleep165663 +Node: Startup Message166004 +Node: Miscellaneous166277 +Node: At167716 +Node: Break169686 +Node: Debug171332 +Node: License171809 +Node: Nethack172074 +Node: Nonblock172751 +Node: Number173730 +Node: Silence174100 +Node: Time175036 +Node: Verbose175628 +Node: Version175962 +Node: Zombie176171 +Node: Printcmd177225 +Node: Sorendition177931 +Node: Attrcolor178361 +Node: Setsid179411 +Node: Eval179928 +Node: Maxwin180137 +Node: Backtick180407 +Node: Screen Saver181654 +Node: Zmodem182779 +Node: String Escapes183664 +Node: Environment189000 +Node: Files190096 +Node: Credits191184 +Node: Bugs193195 +Node: Known Bugs193665 +Node: Reporting Bugs195759 +Node: Availability196525 +Node: Installation197069 +Node: Socket Directory197459 +Node: Compiling Screen197989 +Node: Concept Index199376 +Node: Command Index201468 +Node: Keystroke Index210715 End Tag Table diff --git a/doc/screen.info-1 b/doc/screen.info-1 index 63a2c6a..ece1aba 100644 --- a/doc/screen.info-1 +++ b/doc/screen.info-1 @@ -1,4 +1,4 @@ -This is screen.info, produced by makeinfo version 4.0 from +This is screen.info, produced by makeinfo version 4.5 from ./screen.texinfo. INFO-DIR-SECTION General Commands @@ -8,7 +8,7 @@ END-INFO-DIR-ENTRY This file documents the `Screen' virtual terminal manager. - Copyright (c) 1993-2002 Free Software Foundation, Inc. + Copyright (c) 1993-2003 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 @@ -31,7 +31,7 @@ Screen ****** This file documents the `Screen' virtual terminal manager, version -3.9.11. +4.0.2. * Menu: @@ -156,7 +156,7 @@ Another section (*note Customization::) deals with the contents of your If your terminal is a "true" auto-margin terminal (it doesn't allow the last position on the screen to be updated without scrolling the -screen) consider to use a version of your terminal's termcap that has +screen) consider using a version of your terminal's termcap that has automatic margins turned _off_. This will ensure an accurate and optimal update of the screen in all circumstances. Most terminals nowadays have "magic" margins (automatic margins plus usable last @@ -235,7 +235,7 @@ Invoking `Screen' literal command character (when typed after the command character) to Y. The defaults are `C-a' and `a', which can be specified as `-e^Aa'. When creating a `screen' session, this option sets the - default command caracter. In a multiuser session all users added + default command character. In a multiuser session all users added will start off with this command character. But when attaching to an already running session, this option only changes the command character of the attaching user. This option is equivalent to the @@ -281,10 +281,7 @@ Invoking `Screen' `-wipe' option. `-L' - Tell `screen' that your auto-margin terminal allows programs to - write to the last column of the last row of the screen without - scrolling. This can also be set in your `.screenrc' by specifying - `xn' in a `termcap' command (*note Termcap::). + Tell `screen' to turn on automatic output logging for the windows. `-m' Tell `screen' to ignore the `$STY' environment variable. When @@ -301,6 +298,13 @@ Invoking `Screen' This also starts `screen' in _detached_ mode, but doesn't fork a new process. The command exits if the session terminates. +`-p NAME_OR_NUMBER' + Preselect a window. This is usefull when you want to reattach to a + specific windor or you want to send a command via the `-X' option + to a specific window. As with screen's select commant, `-' selects + the blank window. As a special case for reattach, `=' brings up + the windowlist on the blank window. + `-q' Suppress printing of error messages. In combination with `-ls' the exit value is set as follows: 9 indicates a directory without @@ -373,6 +377,7 @@ Invoking `Screen' or detached screen sessions. Note that this command doesn't work if the session is password protected. + File: screen.info, Node: Customization, Next: Commands, Prev: Invoking Screen, Up: Top @@ -430,9 +435,10 @@ Source (none) Read and execute commands from file FILE. Source commands may be nested to a maximum recursion level of ten. If FILE is not an - absolute path and screen already processes a source command, - the parent directory of the running source command file is used to - search for the new command file before screen's current directory. + absolute path and screen is already processing a source + command, the parent directory of the running source command file + is used to search for the new command file before screen's + current directory. Note that termcap/terminfo/termcapinfo commands only work at startup and reattach time, so they must be reached via the @@ -785,6 +791,10 @@ Command Summary `allpartial STATE' Set all windows to partial refresh. *Note Redisplay::. +`altscreen STATE' + Enables support for the "alternate screen" terminal capability. + *Note Redisplay::. + `at [IDENT][#|*|%] COMMAND [ARGS]' Execute a command at other displays or windows. *Note At::. @@ -798,6 +808,9 @@ Command Summary Enable a clear screen to discard unwritten output. *Note Autonuke::. +`backtick ID LIFESPAN AUTOREFRESH COMMAND [ARGS]' + Define a command for the backtick string escape. *Note Backtick::. + `bce [STATE]' Change background color erase. *Note Character Processing::. @@ -810,6 +823,12 @@ Command Summary `bindkey [OPTS] [STRING [CMD ARGS]]' Bind a string to a series of keystrokes. *Note Bindkey::. +`blanker' + Blank the screen. *Note Screen Saver::. + +`blankerprg' + Define a blanker program. *Note Screen Saver::. + `break [DURATION]' Send a break signal to the current window. *Note Break::. @@ -908,6 +927,9 @@ Command Summary `defmonitor STATE' Select default activity monitoring behavior. *Note Monitor::. +`defnonblock STATE|NUMSECS' + Select default nonblock mode. *Note Nonblock::. + `defobuflimit LIMIT' Select default output buffer limit. *Note Obuflimit::. @@ -1002,6 +1024,9 @@ Command Summary `hstatus STATUS' Change the window's hardstatus line. *Note Hardstatus::. +`idle [TIMEOUT [CMD ARGS]]' + Define a screen saver command. *Note Screen Saver::. + `ignorecase [STATE]' Ignore character case in searches. *Note Searching::. @@ -1050,6 +1075,9 @@ Command Summary `markkeys STRING' Rebind keys in copy mode. *Note Copy Mode Keys::. +`maxwin N' + Set the maximum window number. *Note Maxwin::. + `meta' Insert the command character. *Note Command Character::. @@ -1071,8 +1099,9 @@ Command Summary `next' Switch to the next window. *Note Selecting::. -`nonblock STATE' - Disable flow control to the current display. *Note Nonblock::. +`nonblock [STATE|NUMSECS]' + Disable flow control to the current display. *Note + Nonblock::.|NUMSECS] `number [N]' Change/display the current window's number. *Note Number::. @@ -1271,6 +1300,9 @@ Command Summary `xon' Send an XON character. *Note XON/XOFF::. +`zmodem [off|auto|catch|pass]' + Define how screen treats zmodem requests. *Note Zmodem::. + `zombie [KEYS]' Keep dead windows. *Note Zombie::. @@ -1413,123 +1445,3 @@ Term command `screen -T vt100 rlogin othermachine' rather than setting and resetting the default. - -File: screen.info, Node: Window Types, Prev: Term, Up: New Window - -Window Types -============ - - Screen provides three different window types. New windows are created -with `screen''s `screen' command (*note Screen Command::). The first -parameter to the `screen' command defines which type of window is -created. The different window types are all special cases of the normal -type. They have been added in order to allow `screen' to be used -efficiently as a console with 100 or more windows. - * The normal window contains a shell (default, if no parameter is - given) or any other system command that could be executed from a - shell. (e.g. `slogin', etc...). - - * If a tty (character special device) name (e.g. `/dev/ttya') is - specified as the first parameter, then the window is directly - connected to this device. This window type is similar to `screen - cu -l /dev/ttya'. Read and write access is required on the device - node, an exclusive open is attempted on the node to mark the - connection line as busy. An optional parameter is allowed - consisting of a comma separated list of flags in the notation used - by `stty(1)': - `<baud_rate>' - Usually 300, 1200, 9600 or 19200. This affects transmission - as well as receive speed. - - `cs8 or cs7' - Specify the transmission of eight (or seven) bits per byte. - - `ixon or -ixon' - Enables (or disables) software flow-control (CTRL-S/CTRL-Q) - for sending data. - - `ixoff or -ixoff' - Enables (or disables) software flow-control for receiving - data. - - `istrip or -istrip' - Clear (or keep) the eight bit in each received byte. - - You may want to specify as many of these options as applicable. - Unspecified options cause the terminal driver to make up the - parameter values of the connection. These values are system - dependant and may be in defaults or values saved from a previous - connection. - - For tty windows, the `info' command shows some of the modem - control lines in the status line. These may include `RTS', `CTS', - `DTR', `CD' and more. This depends rather on on the available - `ioctl()''s and system header files than on the physical - capabilities of the serial board. The name of a logical low - (inactive) signal is preceded by an exclamation mark (`!'), - otherwise the signal is logical high (active). Unsupported but - shown signals are usually shown low. When the `CLOCAL' status bit - is true, the whole set of modem signals is placed inside curly - braces (`{' and `}'). When the `CRTSCTS' or `TIOCSOFTCAR' bit is - true, the signals `CTS' or `CD' are shown in parenthesis, - respectively. - - For tty windows, the command `break' causes the Data transmission - line (TxD) to go low for a specified period of time. This is - expected to be interpreted as break signal on the other side. No - data is sent and no modem control line is changed when a `break' - is issued. - - * If the first parameter is `//telnet', the second parameter is - expected to be a host name, and an optional third parameter may - specify a TCP port number (default decimal 23). Screen will - connect to a server listening on the remote host and use the - telnet protocol to communicate with that server. - - For telnet windows, the command `info' shows details about the - connection in square brackets (`[' and `]') at the end of the - status line. - `b' - BINARY. The connection is in binary mode. - - `e' - ECHO. Local echo is disabled. - - `c' - SGA. The connection is in `character mode' (default: `line - mode'). - - `t' - TTYPE. The terminal type has been requested by the remote - host. Screen sends the name `screen' unless instructed - otherwise (see also the command `term'). - - `w' - NAWS. The remote site is notified about window size changes. - - `f' - LFLOW. The remote host will send flow control information. - (Ignored at the moment.) Additional flags for debugging are - `x', `t' and `n' (XDISPLOC, TSPEED and NEWENV). - - For telnet windows, the command `break' sends the telnet code `IAC - BREAK' (decimal 243) to the remote host. - - - -File: screen.info, Node: Selecting, Next: Session Management, Prev: New Window, Up: Top - -Selecting a Window -****************** - - This section describes the commands for switching between windows in -an `screen' session. The windows are numbered from 0 to 9, and are -created in that order by default (*note New Window::). - -* Menu: - -* Next and Previous:: Forward or back one window. -* Other Window:: Switch back and forth between two windows. -* Select:: Switch to a window (and to one after `kill'). -* Windowlist:: Present a list of all windows for selection. - diff --git a/doc/screen.info-2 b/doc/screen.info-2 index 21dfb8d..bc2cfdc 100644 --- a/doc/screen.info-2 +++ b/doc/screen.info-2 @@ -1,4 +1,4 @@ -This is screen.info, produced by makeinfo version 4.0 from +This is screen.info, produced by makeinfo version 4.5 from ./screen.texinfo. INFO-DIR-SECTION General Commands @@ -8,7 +8,7 @@ END-INFO-DIR-ENTRY This file documents the `Screen' virtual terminal manager. - Copyright (c) 1993-2002 Free Software Foundation, Inc. + Copyright (c) 1993-2003 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 @@ -25,6 +25,127 @@ versions, except that this permission notice may be stated in a translation approved by the Foundation. +File: screen.info, Node: Window Types, Prev: Term, Up: New Window + +Window Types +============ + + Screen provides three different window types. New windows are created +with `screen''s `screen' command (*note Screen Command::). The first +parameter to the `screen' command defines which type of window is +created. The different window types are all special cases of the normal +type. They have been added in order to allow `screen' to be used +efficiently as a console with 100 or more windows. + * The normal window contains a shell (default, if no parameter is + given) or any other system command that could be executed from a + shell. (e.g. `slogin', etc...). + + * If a tty (character special device) name (e.g. `/dev/ttya') is + specified as the first parameter, then the window is directly + connected to this device. This window type is similar to `screen + cu -l /dev/ttya'. Read and write access is required on the device + node, an exclusive open is attempted on the node to mark the + connection line as busy. An optional parameter is allowed + consisting of a comma separated list of flags in the notation used + by `stty(1)': + `<baud_rate>' + Usually 300, 1200, 9600 or 19200. This affects transmission + as well as receive speed. + + `cs8 or cs7' + Specify the transmission of eight (or seven) bits per byte. + + `ixon or -ixon' + Enables (or disables) software flow-control (CTRL-S/CTRL-Q) + for sending data. + + `ixoff or -ixoff' + Enables (or disables) software flow-control for receiving + data. + + `istrip or -istrip' + Clear (or keep) the eight bit in each received byte. + + You may want to specify as many of these options as applicable. + Unspecified options cause the terminal driver to make up the + parameter values of the connection. These values are system + dependant and may be in defaults or values saved from a previous + connection. + + For tty windows, the `info' command shows some of the modem + control lines in the status line. These may include `RTS', `CTS', + `DTR', `CD' and more. This depends rather on on the available + `ioctl()''s and system header files than on the physical + capabilities of the serial board. The name of a logical low + (inactive) signal is preceded by an exclamation mark (`!'), + otherwise the signal is logical high (active). Unsupported but + shown signals are usually shown low. When the `CLOCAL' status bit + is true, the whole set of modem signals is placed inside curly + braces (`{' and `}'). When the `CRTSCTS' or `TIOCSOFTCAR' bit is + true, the signals `CTS' or `CD' are shown in parenthesis, + respectively. + + For tty windows, the command `break' causes the Data transmission + line (TxD) to go low for a specified period of time. This is + expected to be interpreted as break signal on the other side. No + data is sent and no modem control line is changed when a `break' + is issued. + + * If the first parameter is `//telnet', the second parameter is + expected to be a host name, and an optional third parameter may + specify a TCP port number (default decimal 23). Screen will + connect to a server listening on the remote host and use the + telnet protocol to communicate with that server. + + For telnet windows, the command `info' shows details about the + connection in square brackets (`[' and `]') at the end of the + status line. + `b' + BINARY. The connection is in binary mode. + + `e' + ECHO. Local echo is disabled. + + `c' + SGA. The connection is in `character mode' (default: `line + mode'). + + `t' + TTYPE. The terminal type has been requested by the remote + host. Screen sends the name `screen' unless instructed + otherwise (see also the command `term'). + + `w' + NAWS. The remote site is notified about window size changes. + + `f' + LFLOW. The remote host will send flow control information. + (Ignored at the moment.) + Additional flags for debugging are `x', `t' and `n' (XDISPLOC, + TSPEED and NEWENV). + + For telnet windows, the command `break' sends the telnet code `IAC + BREAK' (decimal 243) to the remote host. + + + +File: screen.info, Node: Selecting, Next: Session Management, Prev: New Window, Up: Top + +Selecting a Window +****************** + + This section describes the commands for switching between windows in +an `screen' session. The windows are numbered from 0 to 9, and are +created in that order by default (*note New Window::). + +* Menu: + +* Next and Previous:: Forward or back one window. +* Other Window:: Switch back and forth between two windows. +* Select:: Switch to a window (and to one after `kill'). +* Windowlist:: Present a list of all windows for selection. + + File: screen.info, Node: Next and Previous, Next: Other Window, Up: Selecting Moving Back and Forth @@ -68,8 +189,11 @@ Select established, the lowest available number is assigned to this window. Thus, the first window can be activated by `select 0'; there can be no more than 10 windows present simultaneously - (unless screen is compiled with a higher MAXWIN setting). The - special command `select -' switches to a blank window. + (unless screen is compiled with a higher MAXWIN setting). There + are two special arguments, `select -' switches to the internal + blank window and `select .' switches to the current window. The + latter is useful if used with screen's `-X' option. + File: screen.info, Node: Windowlist, Prev: Select, Up: Selecting @@ -77,13 +201,18 @@ File: screen.info, Node: Windowlist, Prev: Select, Up: Selecting Windowlist ========== - - Command: windowlist [-b] | string [STRING] | title [TITLE] + - Command: windowlist [-b] [-m] + - Command: windowlist string [STRING] + - Command: windowlist title [TITLE] (`C-a "') Display all windows in a table for visual window selection. The desired window can be selected via the standard movement keys (*note Movement::) and activated via the return key. If the `-b' option is given, screen will switch to the blank window before presenting the list, so that the current window is also selectable. + The `-m' option changes the order of the windows, instead of + sorting by window numbers screen uses its internal + most-recently-used list. The table format can be changed with the string and title option, the title is displayed as table heading, while the lines are made @@ -154,7 +283,7 @@ Power Detach ============ - Command: pow_detach - (`C-a D') + (`C-a D D') Mainly the same as `detach', but also sends a HANGUP signal to the parent process of `screen'. _Caution_: This will result in a logout if `screen' was started @@ -257,7 +386,7 @@ Aclchg a comma separated list of commands or windows (specified either by number or title). The special list `#' refers to all windows, `?' to all commands. If USERNAMES consists of a single `*', all known - users is affected. A command can be executed when the user has + users are affected. A command can be executed when the user has the `x' bit for it. The user can type input to a window when he has its `w' bit set and no other user obtains a writelock for this window. Other bits are currently ignored. To withdraw the @@ -608,7 +737,7 @@ Title Command - Command: title [windowtitle] (`C-a A') - Set the name of the current window to WINDOWALIAS. If no name is + Set the name of the current window to WINDOWTITLE. If no name is specified, screen prompts for one. @@ -1027,7 +1156,10 @@ functions, respectively. ?7 (V) `Wrap' Mode ?9 X10 mouse tracking ?25 (V) Visible Cursor + ?47 Alternate Screen (old xterm code) ?1000 (V) VT200 mouse tracking + ?1047 Alternate Screen (new xterm code) + ?1049 Alternate Screen (new xterm code) ESC [ 5 i (A) Start relay to printer (ANSI Media Copy) ESC [ 4 i (A) Stop relay to printer (ANSI Media Copy) ESC [ 8 ; Ph ; Pw t Resize the window to `Ph' lines and @@ -1037,213 +1169,3 @@ functions, respectively. ESC [ > c Send Secondary Device Attributes String ESC [ 6 n Send Cursor Position Report - -File: screen.info, Node: Input Translation, Next: Digraph, Prev: Control Sequences, Up: Virtual Terminal - -Input Translation -================= - - In order to do a full VT100 emulation `screen' has to detect that a -sequence of characters in the input stream was generated by a keypress -on the user's keyboard and insert the VT100 style escape sequence. -`Screen' has a very flexible way of doing this by making it possible to -map arbitrary commands on arbitrary sequences of characters. For -standard VT100 emulation the command will always insert a string in the -input buffer of the window (see also command `stuff', *note Paste::). -Because the sequences generated by a keypress can change after a -reattach from a different terminal type, it is possible to bind -commands to the termcap name of the keys. `Screen' will insert the -correct binding after each reattach. See *Note Bindkey:: for further -details on the syntax and examples. - - Here is the table of the default key bindings. (A) means that the -command is executed if the keyboard is switched into application mode. - - Key name Termcap name Command - ----------------------------------------------------- - Cursor up ku stuff \033[A - stuff \033OA (A) - Cursor down kd stuff \033[B - stuff \033OB (A) - Cursor right kr stuff \033[C - stuff \033OC (A) - Cursor left kl stuff \033[D - stuff \033OD (A) - Function key 0 k0 stuff \033[10~ - Function key 1 k1 stuff \033OP - Function key 2 k2 stuff \033OQ - Function key 3 k3 stuff \033OR - Function key 4 k4 stuff \033OS - Function key 5 k5 stuff \033[15~ - Function key 6 k6 stuff \033[17~ - Function key 7 k7 stuff \033[18~ - Function key 8 k8 stuff \033[19~ - Function key 9 k9 stuff \033[20~ - Function key 10 k; stuff \033[21~ - Function key 11 F1 stuff \033[23~ - Function key 12 F2 stuff \033[24~ - Home kh stuff \033[1~ - End kH stuff \033[4~ - Insert kI stuff \033[2~ - Delete kD stuff \033[3~ - Page up kP stuff \033[5~ - Page down kN stuff \033[6~ - Keypad 0 f0 stuff 0 - stuff \033Op (A) - Keypad 1 f1 stuff 1 - stuff \033Oq (A) - Keypad 2 f2 stuff 2 - stuff \033Or (A) - Keypad 3 f3 stuff 3 - stuff \033Os (A) - Keypad 4 f4 stuff 4 - stuff \033Ot (A) - Keypad 5 f5 stuff 5 - stuff \033Ou (A) - Keypad 6 f6 stuff 6 - stuff \033Ov (A) - Keypad 7 f7 stuff 7 - stuff \033Ow (A) - Keypad 8 f8 stuff 8 - stuff \033Ox (A) - Keypad 9 f9 stuff 9 - stuff \033Oy (A) - Keypad + f+ stuff + - stuff \033Ok (A) - Keypad - f- stuff - - stuff \033Om (A) - Keypad * f* stuff * - stuff \033Oj (A) - Keypad / f/ stuff / - stuff \033Oo (A) - Keypad = fq stuff = - stuff \033OX (A) - Keypad . f. stuff . - stuff \033On (A) - Keypad , f, stuff , - stuff \033Ol (A) - Keypad enter fe stuff \015 - stuff \033OM (A) - - -File: screen.info, Node: Digraph, Next: Bell, Prev: Input Translation, Up: Virtual Terminal - -Digraph -======= - - - Command: digraph [preset] - (none) - This command prompts the user for a digraph sequence. The next two - characters typed are looked up in a builtin table and the - resulting character is inserted in the input stream. For example, - if the user enters `a"', an a-umlaut will be inserted. If the - first character entered is a 0 (zero), `screen' will treat the - following characters (up to three) as an octal number instead. - The optional argument PRESET is treated as user input, thus one - can create an "umlaut" key. For example the command `bindkey ^K - digraph '"'' enables the user to generate an a-umlaut by typing - `CTRL-K a'. - - -File: screen.info, Node: Bell, Next: Clear, Prev: Digraph, Up: Virtual Terminal - -Bell -==== - - - Command: bell_msg [message] - (none) - When a bell character is sent to a background window, `screen' - displays a notification in the message line. The notification - message can be re-defined by this command. Each occurrence of `%' - in MESSAGE is replaced by the number of the window to which a bell - has been sent, and each occurrence of `^G' is replaced by the - definition for bell in your termcap (usually an audible bell). - The default message is - - 'Bell in window %n' - - An empty message can be supplied to the `bell_msg' command to - suppress output of a message line (`bell_msg ""'). Without - parameter, the current message is shown. - - - Command: vbell [state] - (`C-a C-g') - Sets or toggles the visual bell setting for the current window. If - `vbell' is switched to `on', but your terminal does not support a - visual bell, the visual bell message is displayed in the status - line when the bell character is received. Visual bell support of - a terminal is defined by the termcap variable `vb'. *Note Visual - Bell: (termcap)Bell, for more information on visual bells. The - equivalent terminfo capability is `flash'. - - Per default, `vbell' is `off', thus the audible bell is used. - - - Command: vbell_msg [message] - (none) - Sets the visual bell message. MESSAGE is printed to the status - line if the window receives a bell character (^G), `vbell' is set - to `on' and the terminal does not support a visual bell. The - default message is `Wuff, Wuff!!'. Without parameter, the current - message is shown. - - - Command: vbellwait sec - (none) - Define a delay in seconds after each display of `screen' 's visual - bell message. The default is 1 second. - - -File: screen.info, Node: Clear, Next: Info, Prev: Bell, Up: Virtual Terminal - -Clear -===== - - - Command: clear - (`C-a C') - Clears the screen and saves its contents to the scrollback buffer. - - -File: screen.info, Node: Info, Next: Redisplay, Prev: Clear, Up: Virtual Terminal - -Info -==== - - - Command: info - (`C-a i', `C-a C-i') - Uses the message line to display some information about the current - window: the cursor position in the form `(COLUMN,ROW)' starting - with `(1,1)', the terminal width and height plus the size of the - scrollback buffer in lines, like in `(80,24)+50', the current - state of window XON/XOFF flow control is shown like this (*note - Flow Control::): - +flow automatic flow control, currently on. - -flow automatic flow control, currently off. - +(+)flow flow control enabled. Agrees with automatic control. - -(+)flow flow control disabled. Disagrees with automatic control. - +(-)flow flow control enabled. Disagrees with automatic control. - -(-)flow flow control disabled. Agrees with automatic control. - - The current line wrap setting (`+wrap' indicates enabled, `-wrap' - not) is also shown. The flags `ins', `org', `app', `log', `mon' - and `nored' are displayed when the window is in insert mode, - origin mode, application-keypad mode, has output logging, insert - mode, origin mode, application-keypad mode, output logging, - activity monitoring or partial redraw enabled. - - The currently active character set (`G0', `G1', `G2', or `G3'), - and in square brackets the terminal character sets that are - currently designated as `G0' through `G3'. If the window is in - UTF-8 mode, the string `UTF-8' is shown instead. Additional modes - depending on the type of the window are displayed at the end of - the status line (*note Window Types::). - - If the state machine of the terminal emulator is in a non-default - state, the info line is started with a string identifying the - current state. - - For system information use `time'. - - - Command: dinfo - (none) - Show what screen thinks about your terminal. Useful if you want to - know why features like color or the alternate charset don't work. - diff --git a/doc/screen.info-3 b/doc/screen.info-3 index 298f9e3..6c78005 100644 --- a/doc/screen.info-3 +++ b/doc/screen.info-3 @@ -1,4 +1,4 @@ -This is screen.info, produced by makeinfo version 4.0 from +This is screen.info, produced by makeinfo version 4.5 from ./screen.texinfo. INFO-DIR-SECTION General Commands @@ -8,7 +8,7 @@ END-INFO-DIR-ENTRY This file documents the `Screen' virtual terminal manager. - Copyright (c) 1993-2002 Free Software Foundation, Inc. + Copyright (c) 1993-2003 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 @@ -25,6 +25,215 @@ versions, except that this permission notice may be stated in a translation approved by the Foundation. +File: screen.info, Node: Input Translation, Next: Digraph, Prev: Control Sequences, Up: Virtual Terminal + +Input Translation +================= + + In order to do a full VT100 emulation `screen' has to detect that a +sequence of characters in the input stream was generated by a keypress +on the user's keyboard and insert the VT100 style escape sequence. +`Screen' has a very flexible way of doing this by making it possible to +map arbitrary commands on arbitrary sequences of characters. For +standard VT100 emulation the command will always insert a string in the +input buffer of the window (see also command `stuff', *note Paste::). +Because the sequences generated by a keypress can change after a +reattach from a different terminal type, it is possible to bind +commands to the termcap name of the keys. `Screen' will insert the +correct binding after each reattach. See *Note Bindkey:: for further +details on the syntax and examples. + + Here is the table of the default key bindings. (A) means that the +command is executed if the keyboard is switched into application mode. + + Key name Termcap name Command + ----------------------------------------------------- + Cursor up ku stuff \033[A + stuff \033OA (A) + Cursor down kd stuff \033[B + stuff \033OB (A) + Cursor right kr stuff \033[C + stuff \033OC (A) + Cursor left kl stuff \033[D + stuff \033OD (A) + Function key 0 k0 stuff \033[10~ + Function key 1 k1 stuff \033OP + Function key 2 k2 stuff \033OQ + Function key 3 k3 stuff \033OR + Function key 4 k4 stuff \033OS + Function key 5 k5 stuff \033[15~ + Function key 6 k6 stuff \033[17~ + Function key 7 k7 stuff \033[18~ + Function key 8 k8 stuff \033[19~ + Function key 9 k9 stuff \033[20~ + Function key 10 k; stuff \033[21~ + Function key 11 F1 stuff \033[23~ + Function key 12 F2 stuff \033[24~ + Home kh stuff \033[1~ + End kH stuff \033[4~ + Insert kI stuff \033[2~ + Delete kD stuff \033[3~ + Page up kP stuff \033[5~ + Page down kN stuff \033[6~ + Keypad 0 f0 stuff 0 + stuff \033Op (A) + Keypad 1 f1 stuff 1 + stuff \033Oq (A) + Keypad 2 f2 stuff 2 + stuff \033Or (A) + Keypad 3 f3 stuff 3 + stuff \033Os (A) + Keypad 4 f4 stuff 4 + stuff \033Ot (A) + Keypad 5 f5 stuff 5 + stuff \033Ou (A) + Keypad 6 f6 stuff 6 + stuff \033Ov (A) + Keypad 7 f7 stuff 7 + stuff \033Ow (A) + Keypad 8 f8 stuff 8 + stuff \033Ox (A) + Keypad 9 f9 stuff 9 + stuff \033Oy (A) + Keypad + f+ stuff + + stuff \033Ok (A) + Keypad - f- stuff - + stuff \033Om (A) + Keypad * f* stuff * + stuff \033Oj (A) + Keypad / f/ stuff / + stuff \033Oo (A) + Keypad = fq stuff = + stuff \033OX (A) + Keypad . f. stuff . + stuff \033On (A) + Keypad , f, stuff , + stuff \033Ol (A) + Keypad enter fe stuff \015 + stuff \033OM (A) + + +File: screen.info, Node: Digraph, Next: Bell, Prev: Input Translation, Up: Virtual Terminal + +Digraph +======= + + - Command: digraph [preset] + (none) + This command prompts the user for a digraph sequence. The next two + characters typed are looked up in a builtin table and the + resulting character is inserted in the input stream. For example, + if the user enters `a"', an a-umlaut will be inserted. If the + first character entered is a 0 (zero), `screen' will treat the + following characters (up to three) as an octal number instead. + The optional argument PRESET is treated as user input, thus one + can create an "umlaut" key. For example the command `bindkey ^K + digraph '"'' enables the user to generate an a-umlaut by typing + `CTRL-K a'. + + +File: screen.info, Node: Bell, Next: Clear, Prev: Digraph, Up: Virtual Terminal + +Bell +==== + + - Command: bell_msg [message] + (none) + When a bell character is sent to a background window, `screen' + displays a notification in the message line. The notification + message can be re-defined by this command. Each occurrence of `%' + in MESSAGE is replaced by the number of the window to which a bell + has been sent, and each occurrence of `^G' is replaced by the + definition for bell in your termcap (usually an audible bell). + The default message is + + 'Bell in window %n' + + An empty message can be supplied to the `bell_msg' command to + suppress output of a message line (`bell_msg ""'). Without + parameter, the current message is shown. + + - Command: vbell [state] + (`C-a C-g') + Sets or toggles the visual bell setting for the current window. If + `vbell' is switched to `on', but your terminal does not support a + visual bell, the visual bell message is displayed in the status + line when the bell character is received. Visual bell support of + a terminal is defined by the termcap variable `vb'. *Note Visual + Bell: (termcap)Bell, for more information on visual bells. The + equivalent terminfo capability is `flash'. + + Per default, `vbell' is `off', thus the audible bell is used. + + - Command: vbell_msg [message] + (none) + Sets the visual bell message. MESSAGE is printed to the status + line if the window receives a bell character (^G), `vbell' is set + to `on' and the terminal does not support a visual bell. The + default message is `Wuff, Wuff!!'. Without parameter, the current + message is shown. + + - Command: vbellwait sec + (none) + Define a delay in seconds after each display of `screen' 's visual + bell message. The default is 1 second. + + +File: screen.info, Node: Clear, Next: Info, Prev: Bell, Up: Virtual Terminal + +Clear +===== + + - Command: clear + (`C-a C') + Clears the screen and saves its contents to the scrollback buffer. + + +File: screen.info, Node: Info, Next: Redisplay, Prev: Clear, Up: Virtual Terminal + +Info +==== + + - Command: info + (`C-a i', `C-a C-i') + Uses the message line to display some information about the current + window: the cursor position in the form `(COLUMN,ROW)' starting + with `(1,1)', the terminal width and height plus the size of the + scrollback buffer in lines, like in `(80,24)+50', the current + state of window XON/XOFF flow control is shown like this (*note + Flow Control::): + +flow automatic flow control, currently on. + -flow automatic flow control, currently off. + +(+)flow flow control enabled. Agrees with automatic control. + -(+)flow flow control disabled. Disagrees with automatic control. + +(-)flow flow control enabled. Disagrees with automatic control. + -(-)flow flow control disabled. Agrees with automatic control. + + The current line wrap setting (`+wrap' indicates enabled, `-wrap' + not) is also shown. The flags `ins', `org', `app', `log', `mon' + and `nored' are displayed when the window is in insert mode, + origin mode, application-keypad mode, has output logging, activity + monitoring or partial redraw enabled. + + The currently active character set (`G0', `G1', `G2', or `G3'), + and in square brackets the terminal character sets that are + currently designated as `G0' through `G3'. If the window is in + UTF-8 mode, the string `UTF-8' is shown instead. Additional modes + depending on the type of the window are displayed at the end of + the status line (*note Window Types::). + + If the state machine of the terminal emulator is in a non-default + state, the info line is started with a string identifying the + current state. + + For system information use `time'. + + - Command: dinfo + (none) + Show what screen thinks about your terminal. Useful if you want to + know why features like color or the alternate charset don't work. + + File: screen.info, Node: Redisplay, Next: Wrap, Prev: Info, Up: Virtual Terminal Redisplay @@ -40,6 +249,11 @@ Redisplay `partial' settings. It does not change the default redraw behavior of newly created windows. + - Command: altscreen state + (none) + If set to on, "alternate screen" support is enabled in virtual + terminals, just like in xterm. Initial setting is `off'. + - Command: partial state (none) Defines whether the display should be refreshed (as with @@ -151,7 +365,7 @@ Character Processing type by using the `KJ' termcap entry. *Note Special Capabilities::. Supported encodings are `eucJP', `SJIS', `eucKR', `eucCN', `Big5', - `KOI8-R', `CP1251', `UTF-8', `ISO8859-2', `ISO8859-3', + `GBK', `KOI8-R', `CP1251', `UTF-8', `ISO8859-2', `ISO8859-3', `ISO8859-4', `ISO8859-5', `ISO8859-6', `ISO8859-7', `ISO8859-8', `ISO8859-9', `ISO8859-10', `ISO8859-15', `jis'. @@ -286,7 +500,7 @@ Scrollback - Command: compacthist [state] (none) - This tells screen weather to suppress trailing blank lines when + This tells screen whether to suppress trailing blank lines when scrolling up text into the history buffer. Turn compacting `on' to hold more useful lines in your scrollback buffer. @@ -332,6 +546,8 @@ previous line. `w', `b', `e' move the cursor word by word. +`B', `E' move the cursor WORD by WORD (as in vi). + `C-u' and `C-d' scroll the display up/down by the specified amount of lines while preserving the cursor position. (Default: half screenfull). @@ -387,8 +603,8 @@ Searching - Command: ignorecase [state] (none) - Tell screen to ignore the case of caracters in searches. Default is - `off'. + Tell screen to ignore the case of characters in searches. Default + is `off'. File: screen.info, Node: Specials, Prev: Searching, Up: Copy @@ -469,9 +685,16 @@ Paste attached), as the registers are a global resource. The paste buffer exists once for every user. + - Command: stuff string + (none) + Stuff the string STRING in the input buffer of the current window. + This is like the `paste' command, but with much less overhead. + You cannot paste large buffers with the `stuff' command. It is most + useful for key bindings. *Note Bindkey::. + - Command: pastefont [state] Tell screen to include font information in the paste buffer. The - default is not to do so. This command is especially usefull for + default is not to do so. This command is especially useful for multi character fonts like kanji. - Command: slowpaste msec @@ -527,14 +750,6 @@ Registers Save the specified STRING to the register KEY. The encoding of the string can be specified via the `-e' option. - - Command: stuff string - (none) - Stuff the string STRING in the input buffer of the current window. - This is like the `paste' command, but with much less overhead. - You cannot paste large buffers with the `stuff' command. It is most - useful for key bindings. *Note Bindkey::. - - File: screen.info, Node: Screen Exchange, Next: History, Prev: Registers, Up: Copy and Paste @@ -1038,208 +1253,3 @@ and the one simulated by `screen'. * 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. The `info' command displays a line starting with `PRIN' -while the printer is active. - - 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 startup 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 should also 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. - diff --git a/doc/screen.info-4 b/doc/screen.info-4 index 300a2ba..7a778f2 100644 --- a/doc/screen.info-4 +++ b/doc/screen.info-4 @@ -1,4 +1,4 @@ -This is screen.info, produced by makeinfo version 4.0 from +This is screen.info, produced by makeinfo version 4.5 from ./screen.texinfo. INFO-DIR-SECTION General Commands @@ -8,7 +8,7 @@ END-INFO-DIR-ENTRY This file documents the `Screen' virtual terminal manager. - Copyright (c) 1993-2002 Free Software Foundation, Inc. + Copyright (c) 1993-2003 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 @@ -25,6 +25,214 @@ versions, except that this permission notice may be stated in a translation approved by the Foundation. +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. The `info' command displays a line starting with `PRIN' +while the printer is active. + + 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::). + + The "alternate screen" capability is not enabled by default. Set +the `altscreen' `.screenrc' command to enable it. + + +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 startup 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 should also 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 @@ -290,8 +498,9 @@ Hardware Status Line used, screen will reserve the last line of the display for the hardstatus. `message' uses `screen''s message mechanism and `ignore' tells `screen' never to display the hardstatus. If you - prepend the word `always' to the type, `screen' will use the type - even if the terminal supports a hardstatus line. + prepend the word `always' to the type (e.g., `alwayslastline'), + `screen' will use the type even if the terminal supports a + hardstatus line. The third form specifies the contents of the hardstatus line. `%h' is used as default string, i.e. the stored hardstatus of the @@ -493,8 +702,12 @@ categories. * Printcmd:: Set command for VT100 printer port emulation. * Sorendition:: Change the text highlighting method. * Attrcolor:: Map attributes to colors. -* Setsid:: Change process group management -* Eval:: Parse and execute arguments +* Setsid:: Change process group management. +* Eval:: Parse and execute arguments. +* Maxwin:: Set the maximum window number. +* Backtick:: Program a command for a backtick string escape. +* Screen Saver:: Define a screen safer. +* Zmodem:: Define how screen treats zmodem requests. File: screen.info, Node: At, Next: Break, Up: Miscellaneous @@ -528,10 +741,9 @@ At internal arrangement of windows (like `other') may be called again. In shared windows the command will be repeated for each attached display. Beware, when issuing toggle commands like - `login'! Some commands (e.g. `stuff', `\*Qprocess' or `paste') - require that a display is associated with the target windows. - These commands may not work correctly under `at' looping over - windows. + `login'! Some commands (e.g. `\*Qprocess') require that a display + is associated with the target windows. These commands may not + work correctly under `at' looping over windows. File: screen.info, Node: Break, Next: Debug, Prev: At, Up: Miscellaneous @@ -621,12 +833,21 @@ File: screen.info, Node: Nonblock, Next: Number, Prev: Nethack, Up: Miscella Nonblock ======== - - Command: nonblock STATE - Enable or disable flow control for the current user interface - (display). It is used to prevent a slow display from slowing down - the processing of data output by a window. This command may be - helpful when multiple displays show the same window. `Nonblock' - is initially off for all displays. + - Command: nonblock [STATE|NUMSECS] + Tell screen how to deal with user interfaces (displays) that cease + to accept output. This can happen if a user presses ^S or a + TCP/modem connection gets cut but no hangup is received. If + nonblock is `off' (this is the default) screen waits until the + display restarts to accept the output. If nonblock is `on', screen + waits until the timeout is reached (`on' is treated as 1s). If the + display still doesn't receive characters, screen will consider it + "blocked" and stop sending characters to it. If at some time it + restarts to accept characters, screen will unblock the display and + redisplay the updated window contents. + + - Command: defnonblock STATE|NUMSECS + Same as the `nonblock' command except that the default setting for + displays is changed. Initial setting is `off'. File: screen.info, Node: Number, Next: Silence, Prev: Nonblock, Up: Miscellaneous @@ -785,7 +1006,7 @@ Attrcolor `attrcolor u "-u b"' Use blue text instead of underline. - `attrcolor b "I"' + `attrcolor b ".I"' Use bright colors for bold text. Most terminal emulators do this already. @@ -808,14 +1029,107 @@ Setsid in rare circumstances. -File: screen.info, Node: Eval, Prev: Setsid, Up: Miscellaneous +File: screen.info, Node: Eval, Next: Maxwin, Prev: Setsid, Up: Miscellaneous Eval ==== - Command: eval COMMAND1 [COMMAND2 ...] (none) - Parses and executes each argument as seperate command. + Parses and executes each argument as separate command. + + +File: screen.info, Node: Maxwin, Next: Backtick, Prev: Eval, Up: Miscellaneous + +Maxwin +====== + + - Command: maxwin N + (none) + Set the maximum window number screen will create. Doesn't affect + already existing windows. The number may only be decreased. + + +File: screen.info, Node: Backtick, Next: Screen Saver, Prev: Maxwin, Up: Miscellaneous + +Backtick +======== + + - Command: backtick ID LIFESPAN AUTOREFRESH COMMAND [ARGS] + - Command: backtick ID + (none) + Program the backtick command with the numerical id ID. The output + of such a command is used for substitution of the `%`' string + escape (*note String Escapes::). The specified LIFESPAN is the + number of seconds the output is considered valid. After this time, + the command is run again if a corresponding string escape is + encountered. The AUTOREFRESH parameter triggers an automatic + refresh for caption and hardstatus strings after the specified + number of seconds. Only the last line of output is used for + substitution. + + If both the LIFESPAN and the AUTOREFRESH parameters are zero, the + backtick program is expected to stay in the background and + generate output once in a while. In this case, the command is + executed right away and screen stores the last line of output. If + a new line gets printed screen will automatically refresh the + hardstatus or the captions. + + The second form of the command deletes the backtick command with + the numerical id ID. + + +File: screen.info, Node: Screen Saver, Next: Zmodem, Prev: Backtick, Up: Miscellaneous + +Screen Saver +============ + + - Command: idle [TIMEOUT [CMD ARGS]] + (none) + Sets a command that is run after the specified number of seconds + inactivity is reached. This command will normally be the `blanker' + command to create a screen blanker, but it can be any screen + command. If no command is specified, only the timeout is set. A + timeout of zero (ot the special timeout `off') disables the timer. + If no arguments are given, the current settings are displayed. + + - Command: blanker + (none) + Activate the screen blanker. First the screen is cleared. If no + blanker program is defined, the cursor is turned off, otherwise, + the program is started and it's output is written to the screen. + The screen blanker is killed with the first keypress, the read key + is discarded. + + This command is normally used together with the `idle' command. + + - Command: blankerprg [PROGRAM ARGS] + Defines a blanker program. Disables the blanker program if no + arguments are given. + + +File: screen.info, Node: Zmodem, Prev: Screen Saver, Up: Miscellaneous + +Zmodem +====== + + - Command: zmodem [off|auto|catch|pass] + - Command: zmodem sendcmd [string] + - Command: zmodem recvcmd [string] + (none) + Define zmodem support for screen. Screen understands two different + modes when it detects a zmodem request: `pass' and `catch'. If the + mode is set to `pass', screen will relay all data to the attacher + until the end of the transmission is reached. In `catch' mode + screen acts as a zmodem endpoint and starts the corresponding + rz/sz commands. If the mode is set to `auto', screen will use + `catch' if the window is a tty (e.g. a serial line), otherwise it + will use `pass'. + + You can define the templates screen uses in `catch' mode via the + second and the third form. + + Note also that this is an experimental feature. File: screen.info, Node: String Escapes, Next: Environment, Prev: Miscellaneous, Up: Top @@ -899,8 +1213,8 @@ instead. full year number `?' - the part to the next `%?' is displayed only if an escape expands - to an nonempty string + the part to the next `%?' is displayed only if a `%' escape inside + the part expands to a non-empty string `:' else part of `%?' @@ -928,12 +1242,17 @@ instead. `...'. `{' - attribute/color modifier string terminated by the next `}' The `c' -and `C' escape may be qualified with a `0' to make screen use zero -instead of space as fill character. The `n' and `=' escapes understand -a length qualifier (e.g. `%3n'), `D' and `M' can be prefixed with `L' -to generate long names, `w' and `W' also show the window flags if `L' -is given. + attribute/color modifier string terminated by the next `}' + +``' + Substitute with the output of a `backtick' command. The length + qualifier is misused to identify one of the commands. *Note + Backtick::. + The `c' and `C' escape may be qualified with a `0' to make screen use +zero instead of space as fill character. The `n' and `=' escapes +understand a length qualifier (e.g. `%3n'), `D' and `M' can be prefixed +with `L' to generate long names, `w' and `W' also show the window flags +if `L' is given. An attribute/color modifier is is used to change the attributes or the color settings. Its format is `[attribute modifier] [color @@ -950,9 +1269,12 @@ change types are known: invert the set in the current attributes `=' - change the current attributes to the specified set The attribute -set can either be specified as a hexadecimal number or a combination of -the following letters: + change the current attributes to the specified set + The attribute set can either be specified as a hexadecimal number or +a combination of the following letters: +`d' + dim + `u' underline @@ -966,9 +1288,10 @@ the following letters: standout `B' - blinking Colors are coded either as a hexadecimal number or two -letters specifying the desired background and foreground color (in that -order). The following colors are known: + blinking + Colors are coded either as a hexadecimal number or two letters +specifying the desired background and foreground color (in that order). +The following colors are known: `k' black @@ -997,9 +1320,10 @@ order). The following colors are known: default color `.' - leave color unchanged The capitalized versions of the letter -specify bright colors. You can also use the pseudo-color `i' to set -just the brightness and leave the color unchanged. + leave color unchanged + The capitalized versions of the letter specify bright colors. You +can also use the pseudo-color `i' to set just the brightness and leave +the color unchanged. A one digit/letter color description is treated as foreground or background color dependant on the current attributes: if reverse mode is @@ -1085,315 +1409,3 @@ Environment Variables `WINDOW' Window number of a window (at creation time). - -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 - -``$SCREENRC'' -``$HOME'/.iscreenrc' -``$HOME'/.screenrc' - Read in after /local/etc/screenrc - -``$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 (mrg@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), - Johannes Zellner (johannes@zellner.org), - Pablo Averbuj (pablo@averbuj.com). - -Version -======= - - This manual describes version 3.9.11 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 on most systems 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. - - * If a password is set, the command line options -d and -D still - detach a session without asking. - - * Both `breaktype' and `defbreaktype' change the break generating - method used by all terminal devices. The first should change a - window specific setting, where the latter should change only the - default for new windows. - - * When attaching to a multiuser session, the user's `.screenrc' file - is not sourced. Each users personal settings have to be included - in the `.screenrc' file from which the session is booted, or have - to be changed manually. - - * A weird imagination is most useful to gain full advantage of all - the features. - - -File: screen.info, Node: Reporting Bugs, Next: Availability, Prev: Known Bugs, Up: Bugs - -Reporting Bugs -============== - - If you find a bug in `Screen', please send electronic mail to -`screen@uni-erlangen.de', and also to `bug-gnu-utils@prep.ai.mit.edu'. -Include the version number of `Screen' which you are using. Also -include in your message the hardware and operating system, the compiler -used to compile, a description of the bug behavior, and the conditions -that triggered the bug. Please recompile `screen' with the `-DDEBUG' -options enabled, reproduce the bug, and have a look at the debug output -written to the directory `/tmp/debug'. If necessary quote suspect -passages from the debug output and show the contents of your `config.h' -if it matters. - - -File: screen.info, Node: Availability, Prev: Reporting Bugs, Up: Bugs - -Availability -============ - - `Screen' is available under the `GNU' copyleft. - - The latest official release of `screen' available via anonymous ftp -from `prep.ai.mit.edu', `nic.funet.fi' or any other `GNU' distribution -site. The home site of `screen' is `ftp.uni-erlangen.de -(131.188.3.71)', in the directory `pub/utilities/screen'. The -subdirectory `private' contains the latest beta testing release. If -you want to help, send a note to screen@uni-erlangen.de. - - -File: screen.info, Node: Installation, Next: Concept Index, Prev: Bugs, Up: Top - -Installation -************ - - Since `screen' uses pseudo-ttys, the select system call, and -UNIX-domain sockets/named pipes, it will not run under a system that -does not include these features of 4.2 and 4.3 BSD UNIX. - -* Menu: - -* Socket Directory:: Where screen stores its handle. -* Compiling Screen:: - - -File: screen.info, Node: Socket Directory, Next: Compiling Screen, Up: Installation - -Socket Directory -================ - - The socket directory defaults either to `$HOME/.screen' or simply to -`/tmp/screens' or preferably to `/usr/local/screens' chosen at -compile-time. If `screen' is installed setuid root, then the -administrator should compile screen with an adequate (not NFS mounted) -`SOCKDIR'. If `screen' is not running setuid-root, the user can specify -any mode 700 directory in the environment variable `$SCREENDIR'. - - -File: screen.info, Node: Compiling Screen, Prev: Socket Directory, Up: Installation - -Compiling Screen -================ - - To compile and install screen: - - The `screen' package comes with a `GNU Autoconf' configuration -script. Before you compile the package run - - `sh ./configure' - - This will create a `config.h' and `Makefile' for your machine. If -`configure' fails for some reason, then look at the examples and -comments found in the `Makefile.in' and `config.h.in' templates. -Rename `config.status' to `config.status.MACHINE' when you want to keep -configuration data for multiple architectures. Running `sh -./config.status.MACHINE' recreates your configuration significantly -faster than rerunning `configure'. -Read through the "User Configuration" section of `config.h', and verify -that it suits your needs. A comment near the top of this section -explains why it's best to install screen setuid to root. Check for the -place for the global `screenrc'-file and for the socket directory. -Check the compiler used in `Makefile', the prefix path where to install -`screen'. Then run - - `make' - - If `make' fails to produce one of the files `term.h', `comm.h' or -`tty.c', then use `FILENAME.X.dist' instead. For additional -information about installation of `screen' refer to the file -`INSTALLATION', coming with this package. - - -File: screen.info, Node: Concept Index, Next: Command Index, Prev: Installation, Up: Top - -Concept Index -************* - -* Menu: - -* .screenrc: Startup Files. -* availability: Availability. -* binding: Key Binding. -* bug report: Reporting Bugs. -* bugs: Bugs. -* capabilities: Special Capabilities. -* command character: Command Character. -* command line options: Invoking Screen. -* command summary: Command Summary. -* compiling screen: Compiling Screen. -* control sequences: Control Sequences. -* copy and paste: Copy and Paste. -* customization: Customization. -* environment: Environment. -* escape character: Command Character. -* files: Files. -* flow control: Flow Control. -* input translation: Input Translation. -* installation: Installation. -* introduction: Getting Started. -* invoking: Invoking Screen. -* key binding: Key Binding. -* marking: Copy. -* message line: Message Line. -* multiuser session: Multiuser Session. -* options: Invoking Screen. -* overview: Overview. -* regions: Regions. -* screenrc: Startup Files. -* scrollback: Copy. -* socket directory: Socket Directory. -* string escapes: String Escapes. -* terminal capabilities: Special Capabilities. -* title: Naming Windows. -* window types: Window Types. - diff --git a/doc/screen.info-5 b/doc/screen.info-5 index d33ae08..fff18bd 100644 --- a/doc/screen.info-5 +++ b/doc/screen.info-5 @@ -1,4 +1,4 @@ -This is screen.info, produced by makeinfo version 4.0 from +This is screen.info, produced by makeinfo version 4.5 from ./screen.texinfo. INFO-DIR-SECTION General Commands @@ -8,7 +8,7 @@ END-INFO-DIR-ENTRY This file documents the `Screen' virtual terminal manager. - Copyright (c) 1993-2002 Free Software Foundation, Inc. + Copyright (c) 1993-2003 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 @@ -25,6 +25,316 @@ versions, except that this permission notice may be stated in a translation approved by the Foundation. +File: screen.info, Node: Files, Next: Credits, Prev: Environment, Up: Top + +Files Referenced +**************** + +`.../screen-4.?.??/etc/screenrc' +`.../screen-4.?.??/etc/etcscreenrc' + Examples in the `screen' distribution package for private and + global initialization files. + +``$SYSSCREENRC'' +`/local/etc/screenrc' + `screen' initialization commands + +``$SCREENRC'' +``$HOME'/.iscreenrc' +``$HOME'/.screenrc' + Read in after /local/etc/screenrc + +``$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 (mrg@eterna.com.au), + Christopher Williams (cgw@pobox.com), + Matt Mosley (mattm@access.digex.net), + Gregory Neil Shapiro (gshapiro@wpi.WPI.EDU), + Jason Merrill (jason@jarthur.Claremont.EDU), + Johannes Zellner (johannes@zellner.org), + Pablo Averbuj (pablo@averbuj.com). + +Version +======= + + This manual describes version 4.0.2 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 on most systems 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. + + * If a password is set, the command line options -d and -D still + detach a session without asking. + + * Both `breaktype' and `defbreaktype' change the break generating + method used by all terminal devices. The first should change a + window specific setting, where the latter should change only the + default for new windows. + + * When attaching to a multiuser session, the user's `.screenrc' file + is not sourced. Each users personal settings have to be included + in the `.screenrc' file from which the session is booted, or have + to be changed manually. + + * A weird imagination is most useful to gain full advantage of all + the features. + + +File: screen.info, Node: Reporting Bugs, Next: Availability, Prev: Known Bugs, Up: Bugs + +Reporting Bugs +============== + + If you find a bug in `Screen', please send electronic mail to +`screen@uni-erlangen.de', and also to `bug-gnu-utils@prep.ai.mit.edu'. +Include the version number of `Screen' which you are using. Also +include in your message the hardware and operating system, the compiler +used to compile, a description of the bug behavior, and the conditions +that triggered the bug. Please recompile `screen' with the `-DDEBUG' +options enabled, reproduce the bug, and have a look at the debug output +written to the directory `/tmp/debug'. If necessary quote suspect +passages from the debug output and show the contents of your `config.h' +if it matters. + + +File: screen.info, Node: Availability, Prev: Reporting Bugs, Up: Bugs + +Availability +============ + + `Screen' is available under the `GNU' copyleft. + + The latest official release of `screen' available via anonymous ftp +from `prep.ai.mit.edu', `nic.funet.fi' or any other `GNU' distribution +site. The home site of `screen' is `ftp.uni-erlangen.de +(131.188.3.71)', in the directory `pub/utilities/screen'. The +subdirectory `private' contains the latest beta testing release. If +you want to help, send a note to screen@uni-erlangen.de. + + +File: screen.info, Node: Installation, Next: Concept Index, Prev: Bugs, Up: Top + +Installation +************ + + Since `screen' uses pseudo-ttys, the select system call, and +UNIX-domain sockets/named pipes, it will not run under a system that +does not include these features of 4.2 and 4.3 BSD UNIX. + +* Menu: + +* Socket Directory:: Where screen stores its handle. +* Compiling Screen:: + + +File: screen.info, Node: Socket Directory, Next: Compiling Screen, Up: Installation + +Socket Directory +================ + + The socket directory defaults either to `$HOME/.screen' or simply to +`/tmp/screens' or preferably to `/usr/local/screens' chosen at +compile-time. If `screen' is installed setuid root, then the +administrator should compile screen with an adequate (not NFS mounted) +`SOCKDIR'. If `screen' is not running setuid-root, the user can specify +any mode 700 directory in the environment variable `$SCREENDIR'. + + +File: screen.info, Node: Compiling Screen, Prev: Socket Directory, Up: Installation + +Compiling Screen +================ + + To compile and install screen: + + The `screen' package comes with a `GNU Autoconf' configuration +script. Before you compile the package run + + `sh ./configure' + This will create a `config.h' and `Makefile' for your +machine. If `configure' fails for some reason, then look at the +examples and comments found in the `Makefile.in' and `config.h.in' +templates. Rename `config.status' to `config.status.MACHINE' when you +want to keep configuration data for multiple architectures. Running `sh +./config.status.MACHINE' recreates your configuration significantly +faster than rerunning `configure'. +Read through the "User Configuration" section of `config.h', and verify +that it suits your needs. A comment near the top of this section +explains why it's best to install screen setuid to root. Check for the +place for the global `screenrc'-file and for the socket directory. +Check the compiler used in `Makefile', the prefix path where to install +`screen'. Then run + + `make' + If `make' fails to produce one of the files `term.h', `comm.h' +or `tty.c', then use `FILENAME.X.dist' instead. For additional +information about installation of `screen' refer to the file +`INSTALLATION', coming with this package. + + +File: screen.info, Node: Concept Index, Next: Command Index, Prev: Installation, Up: Top + +Concept Index +************* + +* Menu: + +* .screenrc: Startup Files. +* availability: Availability. +* binding: Key Binding. +* bug report: Reporting Bugs. +* bugs: Bugs. +* capabilities: Special Capabilities. +* command character: Command Character. +* command line options: Invoking Screen. +* command summary: Command Summary. +* compiling screen: Compiling Screen. +* control sequences: Control Sequences. +* copy and paste: Copy and Paste. +* customization: Customization. +* environment: Environment. +* escape character: Command Character. +* files: Files. +* flow control: Flow Control. +* input translation: Input Translation. +* installation: Installation. +* introduction: Getting Started. +* invoking: Invoking Screen. +* key binding: Key Binding. +* marking: Copy. +* message line: Message Line. +* multiuser session: Multiuser Session. +* options: Invoking Screen. +* overview: Overview. +* regions: Regions. +* screenrc: Startup Files. +* scrollback: Copy. +* socket directory: Socket Directory. +* string escapes: String Escapes. +* terminal capabilities: Special Capabilities. +* title: Naming Windows. +* window types: Window Types. + + File: screen.info, Node: Command Index, Next: Keystroke Index, Prev: Concept Index, Up: Top Command Index @@ -42,14 +352,18 @@ Command Index * activity: Monitor. * addacl: Acladd. * allpartial: Redisplay. +* altscreen: Redisplay. * at: At. * attrcolor: Attrcolor. * autodetach: Detach. * autonuke: Autonuke. +* backtick: Backtick. * bce: Character Processing. * bell_msg: Bell. * bind: Bind. * bindkey: Bindkey. +* blanker: Screen Saver. +* blankerprg: Screen Saver. * break: Break. * breaktype: Break. * bufferfile: Screen Exchange. @@ -81,6 +395,7 @@ Command Index * deflogin: Login. * defmode: Mode. * defmonitor: Monitor. +* defnonblock: Nonblock. * defobuflimit: Obuflimit. * defscrollback: Scrollback. * defshell: Shell. @@ -112,6 +427,7 @@ Command Index * help: Help. * history: History. * hstatus: Hardstatus. +* idle: Screen Saver. * ignorecase: Searching. * info: Info. * ins_reg: Registers. @@ -127,6 +443,7 @@ Command Index * mapnotnext: Bindkey Control. * maptimeout: Bindkey Control. * markkeys: Copy Mode Keys. +* maxwin: Maxwin. * meta: Command Character. * monitor: Monitor. * msgminwait: Message Wait. @@ -174,7 +491,7 @@ Command Index * source: Source. * split: Split. * startup_message: Startup Message. -* stuff: Registers. +* stuff: Paste. * su: Su. * suspend: Suspend. * term: Term. @@ -200,6 +517,7 @@ Command Index * writelock: Writelock. * xoff: XON/XOFF. * xon: XON/XOFF. +* zmodem: Zmodem. * zombie: Zombie. diff --git a/doc/screen.texinfo b/doc/screen.texinfo index eeb0cab..408305a 100644 --- a/doc/screen.texinfo +++ b/doc/screen.texinfo @@ -7,7 +7,7 @@ @finalout @setchapternewpage odd @c %**end of header -@set version 3.9.11 +@set version 4.0.2 @direntry * Screen: (screen). Full-screen window manager. @@ -24,7 +24,7 @@ @ifinfo This file documents the @code{Screen} virtual terminal manager. -Copyright (c) 1993-2002 Free Software Foundation, Inc. +Copyright (c) 1993-2003 Free Software Foundation, Inc. Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice @@ -52,11 +52,11 @@ by the Foundation. @title Screen @subtitle The virtual terminal manager @subtitle for Version @value{version} -@subtitle Jan 2002 +@subtitle Aug 2003 @page @vskip 0pt plus 1filll -Copyright @copyright{} 1993-2002 Free Software Foundation, Inc. +Copyright @copyright{} 1993-2003 Free Software Foundation, Inc. Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice @@ -203,7 +203,7 @@ Another section (@pxref{Customization}) deals with the contents of your If your terminal is a ``true'' auto-margin terminal (it doesn't allow the last position on the screen to be updated without scrolling the -screen) consider to use a version of your terminal's termcap that has +screen) consider using a version of your terminal's termcap that has automatic margins turned @emph{off}. This will ensure an accurate and optimal update of the screen in all circumstances. Most terminals nowadays have ``magic'' margins (automatic margins plus usable last @@ -279,7 +279,7 @@ Set the command character to @var{x}, and the character generating a literal command character (when typed after the command character) to @var{y}. The defaults are @kbd{C-a} and @kbd{a}, which can be specified as @samp{-e^Aa}. When creating a @code{screen} session, this option -sets the default command caracter. In a multiuser session all users +sets the default command character. In a multiuser session all users added will start off with this command character. But when attaching to an already running session, this option only changes the command character of the attaching user. @@ -325,10 +325,8 @@ Ask your system administrator if you are not sure. Remove sessions with the @samp{-wipe} option. @item -L -Tell @code{screen} that your auto-margin terminal allows programs to -write to the last column of the last row of the screen without -scrolling. This can also be set in your @file{.screenrc} by specifying -@samp{xn} in a @code{termcap} command (@pxref{Termcap}). +Tell @code{screen} to turn on automatic output logging for the +windows. @item -m Tell @code{screen} to ignore the @code{$STY} environment variable. When @@ -346,6 +344,13 @@ This also starts @code{screen} in @emph{detached} mode, but doesn't fork a new process. The command exits if the session terminates. @end table +@item -p @var{name_or_number} +Preselect a window. This is usefull when you want to reattach to a +specific windor or you want to send a command via the @samp{-X} +option to a specific window. As with screen's select commant, @samp{-} +selects the blank window. As a special case for reattach, @samp{=} +brings up the windowlist on the blank window. + @item -q Suppress printing of error messages. In combination with @samp{-ls} the exit value is set as follows: 9 indicates a directory without sessions. 10 @@ -473,7 +478,7 @@ contain a number of useful examples for various commands. (none)@* Read and execute commands from file @var{file}. Source commands may be nested to a maximum recursion level of ten. If @var{file} -is not an absolute path and screen already processes a +is not an absolute path and screen is already processing a source command, the parent directory of the running source command file is used to search for the new command file before screen's current directory. @@ -821,6 +826,8 @@ Set the activity notification message. @xref{Monitor}. Synonym to @code{acladd}. @xref{Multiuser Session}. @item allpartial @var{state} Set all windows to partial refresh. @xref{Redisplay}. +@item altscreen @var{state} +Enables support for the "alternate screen" terminal capability. @xref{Redisplay}. @item at [@var{ident}][@kbd{#}@var{|}@kbd{*}@var{|}@kbd{%}] @var{command} [@var{args}] Execute a command at other displays or windows. @xref{At}. @item attrcolor @var{attrib} [@var{attribute/color-modifier}] @@ -829,6 +836,8 @@ Map attributes to colors. @xref{Attrcolor}. Automatically detach the session on SIGHUP. @xref{Detach}. @item autonuke @var{state} Enable a clear screen to discard unwritten output. @xref{Autonuke}. +@item backtick @var{id} @var{lifespan} @var{autorefresh} @var{command} [@var{args}] +Define a command for the backtick string escape. @xref{Backtick}. @item bce [@var{state}] Change background color erase. @xref{Character Processing}. @item bell_msg [@var{message}] @@ -837,6 +846,10 @@ Set the bell notification message. @xref{Bell}. Bind a command to a key. @xref{Bind}. @item bindkey [@var{opts}] [@var{string} [@var{cmd args}]] Bind a string to a series of keystrokes. @xref{Bindkey}. +@item blanker +Blank the screen. @xref{Screen Saver}. +@item blankerprg +Define a blanker program. @xref{Screen Saver}. @item break [@var{duration}] Send a break signal to the current window. @xref{Break}. @item breaktype [@var{tcsendbreak} | @var{TCSBRK} | @var{TIOCSBRK}] @@ -899,6 +912,8 @@ Select default utmp logging behavior. @xref{Login}. Select default file mode for ptys. @xref{Mode}. @item defmonitor @var{state} Select default activity monitoring behavior. @xref{Monitor}. +@item defnonblock @var{state}|@var{numsecs} +Select default nonblock mode. @xref{Nonblock}. @item defobuflimit @var{limit} Select default output buffer limit. @xref{Obuflimit}. @item defscrollback @var{num} @@ -961,6 +976,8 @@ Display current key bindings. @xref{Help}. Find previous command beginning @dots{}. @xref{History}. @item hstatus @var{status} Change the window's hardstatus line. @xref{Hardstatus}. +@item idle [@var{timeout} [@var{cmd} @var{args}]] +Define a screen saver command. @xref{Screen Saver}. @item ignorecase [@var{state}] Ignore character case in searches. @xref{Searching}. @item info @@ -991,6 +1008,8 @@ Don't try to do keymapping on the next keystroke. @xref{Bindkey Control}. Set the inter-character timeout used for keymapping. @xref{Bindkey Control}. @item markkeys @var{string} Rebind keys in copy mode. @xref{Copy Mode Keys}. +@item maxwin @var{n} +Set the maximum window number. @xref{Maxwin}. @item meta Insert the command character. @xref{Command Character}. @item monitor [@var{state}] @@ -1005,8 +1024,8 @@ Go into single or multi user mode. @xref{Multiuser Session}. Use @code{nethack}-like error messages. @xref{Nethack}. @item next Switch to the next window. @xref{Selecting}. -@item nonblock @var{state} -Disable flow control to the current display. @xref{Nonblock}. +@item nonblock [@var{state}|@var{numsecs}] +Disable flow control to the current display. @xref{Nonblock}.|@var{numsecs}] @item number [@var{n}] Change/display the current window's number. @xref{Number}. @item obuflimit [@var{limit}] @@ -1135,6 +1154,8 @@ Grant exclusive write permission. @xref{Multiuser Session}. Send an XOFF character. @xref{XON/XOFF}. @item xon Send an XON character. @xref{XON/XOFF}. +@item zmodem [off|auto|catch|pass] +Define how screen treats zmodem requests. @xref{Zmodem}. @item zombie [@var{keys}] Keep dead windows. @xref{Zombie}. @end table @@ -1427,13 +1448,19 @@ is assigned to this window. Thus, the first window can be activated by @code{select 0}; there can be no more than 10 windows present simultaneously (unless screen is compiled with a higher MAXWIN setting). -The special command @code{select -} switches to a blank window. +There are two special arguments, @code{select -} switches to the +internal blank window and @code{select .} switches to the +current window. The latter is useful if used with screen's +@code{-X} option. + @end deffn @node Windowlist, , Select, Selecting @section Windowlist @kindex " -@deffn Command windowlist [-b] | string [@var{string}] | title [@var{title}] +@deffn Command windowlist [-b] [-m] +@deffnx Command windowlist string [@var{string}] +@deffnx Command windowlist title [@var{title}] (@kbd{C-a "})@* Display all windows in a table for visual window selection. The desired window can be selected via the standard @@ -1441,6 +1468,9 @@ movement keys (@pxref{Movement}) and activated via the return key. If the @code{-b} option is given, screen will switch to the blank window before presenting the list, so that the current window is also selectable. +The @code{-m} option changes the order of the windows, instead of +sorting by window numbers screen uses its internal most-recently-used +list. The table format can be changed with the string and title option, the title is displayed as table heading, while the @@ -1510,7 +1540,7 @@ password checking. @kindex D @deffn Command pow_detach -(@kbd{C-a D})@* +(@kbd{C-a D D})@* Mainly the same as @code{detach}, but also sends a HANGUP signal to the parent process of @code{screen}.@* @emph{Caution}: This will result in a @@ -1603,7 +1633,7 @@ Prefixing @samp{+} grants the permission, @samp{-} removes it. The third parameter is a comma separated list of commands or windows (specified either by number or title). The special list @samp{#} refers to all windows, @samp{?} to all commands. If @var{usernames} consists of a single @samp{*}, all -known users is affected. +known users are affected. A command can be executed when the user has the @samp{x} bit for it. The user can type input to a window when he has its @samp{w} bit set and no other user obtains a writelock for this window. Other bits are currently ignored. @@ -1911,7 +1941,7 @@ name when typed. You can also bind predefined names to keys with the @kindex A @deffn Command title [windowtitle] (@kbd{C-a A})@* -Set the name of the current window to @var{windowalias}. If no name is +Set the name of the current window to @var{windowtitle}. If no name is specified, screen prompts for one. @end deffn @@ -2334,7 +2364,10 @@ ESC [ Ps ;...; Ps l Reset Mode ?7 (V) @samp{Wrap} Mode ?9 X10 mouse tracking ?25 (V) Visible Cursor + ?47 Alternate Screen (old xterm code) ?1000 (V) VT200 mouse tracking + ?1047 Alternate Screen (new xterm code) + ?1049 Alternate Screen (new xterm code) ESC [ 5 i (A) Start relay to printer (ANSI Media Copy) ESC [ 4 i (A) Stop relay to printer (ANSI Media Copy) ESC [ 8 ; Ph ; Pw t Resize the window to @samp{Ph} lines and @@ -2539,7 +2572,6 @@ The current line wrap setting (@samp{+wrap} indicates enabled, @samp{-wrap} not) is also shown. The flags @samp{ins}, @samp{org}, @samp{app}, @samp{log}, @samp{mon} and @samp{nored} are displayed when the window is in insert mode, origin mode, application-keypad mode, has output logging, -insert mode, origin mode, application-keypad mode, output logging, activity monitoring or partial redraw enabled. The currently active @@ -2575,6 +2607,12 @@ on all windows overriding the @code{partial} settings. It does not change the default redraw behavior of newly created windows. @end deffn +@deffn Command altscreen state +(none)@* +If set to on, "alternate screen" support is enabled in virtual terminals, +just like in xterm. Initial setting is @samp{off}. +@end deffn + @deffn Command partial state (none)@* Defines whether the display should be refreshed (as with @@ -2688,7 +2726,7 @@ the terminal type by using the @samp{KJ} termcap entry. @xref{Special Capabiliti Supported encodings are @code{eucJP}, @code{SJIS}, @code{eucKR}, -@code{eucCN}, @code{Big5}, @code{KOI8-R}, @code{CP1251}, +@code{eucCN}, @code{Big5}, @code{GBK}, @code{KOI8-R}, @code{CP1251}, @code{UTF-8}, @code{ISO8859-2}, @code{ISO8859-3}, @code{ISO8859-4}, @code{ISO8859-5}, @code{ISO8859-6}, @code{ISO8859-7}, @code{ISO8859-8}, @code{ISO8859-9}, @@ -2834,7 +2872,7 @@ to view the current setting. @deffn Command compacthist [state] (none)@* -This tells screen weather to suppress trailing blank lines when +This tells screen whether to suppress trailing blank lines when scrolling up text into the history buffer. Turn compacting @samp{on} to hold more useful lines in your scrollback buffer. @end deffn @@ -2885,6 +2923,9 @@ or previous line. @kbd{w}, @kbd{b}, @kbd{e} move the cursor word by word. @noindent +@kbd{B}, @kbd{E} move the cursor WORD by WORD (as in vi). + +@noindent @kbd{C-u} and @kbd{C-d} scroll the display up/down by the specified amount of lines while preserving the cursor position. (Default: half screenfull). @@ -2940,7 +2981,7 @@ digits @kbd{0@dots{}9}) which is taken as a repeat count. Example: @deffn Command ignorecase [state] (none)@* -Tell screen to ignore the case of caracters in searches. Default is +Tell screen to ignore the case of characters in searches. Default is @code{off}. @end deffn @@ -3032,9 +3073,17 @@ display (terminal attached), as the registers are a global resource. The paste buffer exists once for every user. @end deffn +@deffn Command stuff string +(none)@* +Stuff the string @var{string} in the input buffer of the current window. +This is like the @code{paste} command, but with much less overhead. +You cannot paste large buffers with the @code{stuff} command. It is most +useful for key bindings. @xref{Bindkey}. +@end deffn + @deffn Command pastefont [state] Tell screen to include font information in the paste buffer. The -default is not to do so. This command is especially usefull for +default is not to do so. This command is especially useful for multi character fonts like kanji. @end deffn @@ -3095,15 +3144,6 @@ Save the specified @var{string} to the register @var{key}. The encoding of the string can be specified via the @code{-e} option. @end deffn -@deffn Command stuff string -(none)@* -Stuff the string @var{string} in the input buffer of the current window. -This is like the @code{paste} command, but with much less overhead. -You cannot paste large buffers with the @code{stuff} command. It is most -useful for key bindings. @xref{Bindkey}. - -@end deffn - @node Screen Exchange, History, Registers, Copy and Paste @section Screen Exchange @@ -3718,6 +3758,9 @@ cannot be modified by parent processes. You can force @code{screen} to include all capabilities in @code{$TERMCAP} with the @samp{-a} command-line option (@pxref{Invoking Screen}). +The "alternate screen" capability is not enabled by default. +Set the @code{altscreen} @file{.screenrc} command to enable it. + @node Dump Termcap, Termcap Syntax, Window Termcap, Termcap @section Write out the window's termcap entry @kindex . @@ -4098,7 +4141,7 @@ have a hardstatus line (i.e. the termcap/terminfo capabilities display for the hardstatus. @code{message} uses @code{screen}'s message mechanism and @code{ignore} tells @code{screen} never to display the hardstatus. -If you prepend the word @code{always} to the type, @code{screen} will use +If you prepend the word @code{always} to the type (e.g., @code{alwayslastline}), @code{screen} will use the type even if the terminal supports a hardstatus line. The third form specifies the contents of the hardstatus line. @@ -4287,8 +4330,12 @@ categories. * Printcmd:: Set command for VT100 printer port emulation. * Sorendition:: Change the text highlighting method. * Attrcolor:: Map attributes to colors. -* Setsid:: Change process group management -* Eval:: Parse and execute arguments +* Setsid:: Change process group management. +* Eval:: Parse and execute arguments. +* Maxwin:: Set the maximum window number. +* Backtick:: Program a command for a backtick string escape. +* Screen Saver:: Define a screen safer. +* Zmodem:: Define how screen treats zmodem requests. @end menu @node At, Break, , Miscellaneous @@ -4320,7 +4367,7 @@ once per window. Commands that change the internal arrangement of windows (like @code{other}) may be called again. In shared windows the command will be repeated for each attached display. Beware, when issuing toggle commands like @code{login}! -Some commands (e.g. @code{stuff}, @code{\*Qprocess} or @code{paste}) require +Some commands (e.g. @code{\*Qprocess}) require that a display is associated with the target windows. These commands may not work correctly under @code{at} looping over windows. @end deffn @@ -4400,12 +4447,22 @@ determined by the presence of the environment variable @node Nonblock, Number, Nethack, Miscellaneous @section Nonblock -@deffn Command nonblock @var{state} -Enable or disable flow control for the current user interface -(display). It is used to prevent a slow display from slowing -down the processing of data output by a window. This command -may be helpful when multiple displays show the same window. -@code{Nonblock} is initially off for all displays. +@deffn Command nonblock [@var{state}|@var{numsecs}] +Tell screen how to deal with user interfaces (displays) that cease to +accept output. This can happen if a user presses ^S or a TCP/modem +connection gets cut but no hangup is received. If nonblock is +@code{off} (this is the default) screen waits until the display +restarts to accept the output. If nonblock is @code{on}, screen +waits until the timeout is reached (@code{on} is treated as 1s). If the +display still doesn't receive characters, screen will consider +it ``blocked'' and stop sending characters to it. If at +some time it restarts to accept characters, screen will unblock +the display and redisplay the updated window contents. +@end deffn + +@deffn Command defnonblock @var{state}|@var{numsecs} +Same as the @code{nonblock} command except that the default setting for +displays is changed. Initial setting is @code{off}. @end deffn @node Number, Silence, Nonblock, Miscellaneous @@ -4540,7 +4597,7 @@ Examples: Change the color to bright red if bold text is to be printed. @item attrcolor u "-u b" Use blue text instead of underline. -@item attrcolor b "I" +@item attrcolor b ".I" Use bright colors for bold text. Most terminal emulators do this already. @item attrcolor i "+b" @@ -4560,11 +4617,98 @@ The default is @code{on}, of course. This command is probably useful only in rare circumstances. @end deffn -@node Eval, , Setsid, Miscellaneous +@node Eval, Maxwin, Setsid, Miscellaneous @section Eval @deffn Command eval @var{command1} [@var{command2} ...] (none)@* -Parses and executes each argument as seperate command. +Parses and executes each argument as separate command. +@end deffn + +@node Maxwin, Backtick, Eval, Miscellaneous +@section Maxwin +@deffn Command maxwin @var{n} +(none)@* +Set the maximum window number screen will create. Doesn't affect +already existing windows. The number may only be decreased. +@end deffn + +@node Backtick, Screen Saver, Maxwin, Miscellaneous +@section Backtick +@deffn Command backtick @var{id} @var{lifespan} @var{autorefresh} @var{command} [@var{args}] +@deffnx Command backtick @var{id} +(none)@* +Program the backtick command with the numerical id @var{id}. +The output of such a command is used for substitution of the +@code{%`} string escape (@pxref{String Escapes}). +The specified @var{lifespan} is the number +of seconds the output is considered valid. After this time, the +command is run again if a corresponding string escape is encountered. +The @var{autorefresh} parameter triggers an +automatic refresh for caption and hardstatus strings after the +specified number of seconds. Only the last line of output is used +for substitution. + +If both the @var{lifespan} and the @var{autorefresh} parameters +are zero, the backtick program is expected to stay in the +background and generate output once in a while. +In this case, the command is executed right away and screen stores +the last line of output. If a new line gets printed screen will +automatically refresh the hardstatus or the captions. + +The second form of the command deletes the backtick command +with the numerical id @var{id}. +@end deffn + +@node Screen Saver, Zmodem, Backtick, Miscellaneous +@section Screen Saver +@deffn Command idle [@var{timeout} [@var{cmd} @var{args}]] +(none)@* +Sets a command that is run after the specified number of +seconds inactivity is reached. This command will normally +be the @code{blanker} command to create a screen blanker, but +it can be any screen command. If no command is specified, +only the timeout is set. A timeout of zero (ot the special +timeout @code{off}) disables the timer. If no arguments are +given, the current settings are displayed. +@end deffn + +@deffn Command blanker +(none)@* +Activate the screen blanker. First the screen is cleared. +If no blanker program is defined, the cursor is turned +off, otherwise, the program is started and it's output is +written to the screen. The screen blanker is killed with +the first keypress, the read key is discarded. + +This command is normally used together with the @code{idle} +command. +@end deffn + +@deffn Command blankerprg [@var{program args}] +Defines a blanker program. Disables the blanker program if +no arguments are given. +@end deffn + +@node Zmodem, , Screen Saver, Miscellaneous +@section Zmodem +@deffn Command zmodem [off|auto|catch|pass] +@deffnx Command zmodem sendcmd [string] +@deffnx Command zmodem recvcmd [string] +(none)@* +Define zmodem support for screen. Screen understands two +different modes when it detects a zmodem request: @code{pass} +and @code{catch}. If the mode is set to @code{pass}, screen will +relay all data to the attacher until the end of the +transmission is reached. In @code{catch} mode screen acts as a +zmodem endpoint and starts the corresponding rz/sz commands. +If the mode is set to @code{auto}, screen will use @code{catch} if +the window is a tty (e.g. a serial line), otherwise it +will use @code{pass}. + +You can define the templates screen uses in @code{catch} mode +via the second and the third form. + +Note also that this is an experimental feature. @end deffn @node String Escapes, Environment, Miscellaneous, Top @@ -4625,8 +4769,8 @@ last two digits of the year number @item Y full year number @item ? -the part to the next @code{%?} is displayed only if an escape expands -to an nonempty string +the part to the next @code{%?} is displayed only if a @code{%} escape +inside the part expands to a non-empty string @item : else part of @code{%?} @item = @@ -4650,6 +4794,9 @@ operator.) The @code{L} qualifier tells screen to mark the truncated parts with @samp{...}. @item @{ attribute/color modifier string terminated by the next @code{@}} +@item ` +Substitute with the output of a `backtick' command. The length +qualifier is misused to identify one of the commands. @xref{Backtick}. @end table The @code{c} and @code{C} escape may be qualified with a @code{0} to make screen use @@ -4678,6 +4825,8 @@ change the current attributes to the specified set The attribute set can either be specified as a hexadecimal number or a combination of the following letters: @table @code +@item d +dim @item u underline @item b @@ -4807,8 +4956,8 @@ Window number of a window (at creation time). @cindex files @table @file -@item .../screen-3.?.??/etc/screenrc -@itemx .../screen-3.?.??/etc/etcscreenrc +@item .../screen-4.?.??/etc/screenrc +@itemx .../screen-4.?.??/etc/etcscreenrc Examples in the @code{screen} distribution package for private and global initialization files. @@ -4889,8 +5038,8 @@ Contributors @* Martin Schweikert (schweik@@cpp.ob.open.de), David Vrona (dave@@sashimi.lcu.com), E. Tye McQueen (tye%spillman.UUCP@@uunet.uu.net), - Matthew Green (mrg@@mame.mu.oz.au), - Christopher Williams (cgw@@unt.edu), + Matthew Green (mrg@@eterna.com.au), + Christopher Williams (cgw@@pobox.com), Matt Mosley (mattm@@access.digex.net), Gregory Neil Shapiro (gshapiro@@wpi.WPI.EDU), Jason Merrill (jason@@jarthur.Claremont.EDU), |