Strict Standards: Declaration of action_plugin_loglog::register() should be compatible with DokuWiki_Action_Plugin::register($controller) in /home/public/screen/lib/plugins/loglog/action.php on line 15

Strict Standards: Declaration of action_plugin_captcha::register() should be compatible with DokuWiki_Action_Plugin::register($controller) in /home/public/screen/lib/plugins/captcha/action.php on line 0
GNU screen [terminal]

[//This somehow ties in with the ''[[commands:charset]]'' setting, but I don't

understand that one. <PMG>//]

understand that one. <PMG>//]

You can alter various aspects of screen's use of termcap and terminfo, via

You can alter various aspects of screen's use of termcap and terminfo, via

-

the ''termcap'', ''terminfo'', and ''termcapinfo'' commands. All three

+

the ''[[commands:termcap]]'', ''[[commands:terminfo]]'', and

-

have the same syntax. Using ''termcapinfo'' is recommended, since that

+

''[[commands:termcapinfo]]'' commands. All three have the same syntax.

-

affects both termcap and terminfo settings. Note that all three require

+

Using ''[[commands:termcapinfo]]'' is recommended, since that affects both

-

the use of termcap names; terminfo-style long names are not supported.

+

termcap and terminfo settings. Note that all three require the use of

-

The most common use of these commands is to change how screen treats

+

termcap names; terminfo-style long names are not supported. The most

-

display terminals. If you want to change a termcap setting for, say,

+

common use of these commands is to change how ''screen'' treats display

-

xterms, you can use the ''termcapinfo'' command to change the termcap

+

terminals. If you want to change a termcap setting for, say, xterms, you

-

definition that screen uses for that terminal type. This affects only

+

can use the ''[[commands:termcapinfo]]'' command to change the termcap

-

screen, and can be used to effect changes when you don't want to or can't

+

definition that ''screen'' uses for that terminal type. This affects only

-

change the system terminal definitions. See the "Examples" section for,

+

''screen'', and can be used to effect changes when you don't want to or

-

well, examples. The other use is to change the terminal capbilities of

+

can't change the system terminal definitions. There are also several

-

screen's virtual terminal. This can be useful to alter how other programs

+

[[man:special terminal capabilities]] that are ''screen''-specific. See

-

interact with screen, without having to edit screen's source code and

+

the "Examples" section below for specific examples. The other use is to change

-

recompile. [//This is ugly. I need to rewrite it to make it clearer.

+

the terminal capabilities of ''screen'''s virtual terminal. This can be

-

<PMG>//]

+

useful to alter how other programs interact with ''screen'', without

+

having to edit ''screen'''s source code and recompile. [//This is ugly.

+

I need to rewrite it to make it clearer. <PMG>//]

-

==== Command Line ====

+

Some programs use ANSI escape sequences to print data; this was originally used in the days when serial terminals were common, and a terminal might have a printer directly attached to it. Any sequence starting with ''<esc>[5i'' and ending with ''<esc>\'' would cause the data between the two escape sequences to be printed. ''screen'' supports this behavior in two ways: if the display terminal has the ''po'' and ''pf'' termcap entries (indicating that it understands printing escapes), ''screen'' will pass any print requests through to the display terminal. Alternately, you can use the ''[[commands:printcmd]]'' command to define a program to which ''screen'' will send any print jobs.

-

* ''-a'' - "include all capabilities (with some minor exceptions) in each window's termcap, even if screen must redraw parts of the display in order to implement a function."

+

===== Keybindings =====

-

* ''-A'' - Resize windows to fit the current terminal. Only effective if screen would otherwise try to resize your terminal to fit the windows.

+

-

* ''-f'', ''-fn'', ''-fa'' - Respectively, set flow control on, off, or automatic. Same as ''defflow''.

+

-

* ''-O'' - "selects a more optimal output mode for your terminal rather than true VT100 emulation (only affects auto-margin terminals without 'LP'). This can also be set in your .screenrc by specifying 'OP' in a ''termcap'' command."

+

-

* ''-T //term//'' - Changes the $TERM setting for a session (if used outside screen) or window (from within screen). Same as ''term''.

* ''[[commands:term]]'' - Changes the value of $TERM that screen passes to its windows' child processes.

+

* ''[[commands:termcap]]'', ''[[commands:terminfo]]'', and ''[[commands:termcapinfo]]'' - Tweak termcap and/or terminfo entries for either ''screen'''s interaction with the display terminal or for the virtual terminal presented to child programs.

+

* ''[[commands:utf8]]'' - Changes or toggles the encoding on the current window.

+

* ''[[commands:wrap]]'' - Sets or toggles the current window's line wrap setting.

+

* ''[[commands:xoff]]'' - Sends an XOFF (''^S'') to the current window.

* ''bce [on|off]'' - Set or toggle background-color-erase setting. "If ''bce'' is set to on, all characters cleared by an erase/insert/scroll/clear operation will be displayed in the current background color. Otherwise the default background color is used." Most noticeable when your terminal's "default" background is different from the current background color, such as an xterm with a background image. [//What's the default setting? <PMG>//]

+

-

* ''c1 [on|off]'' - Sets or toggles c1 code processing. If on, characters with the high bit set will be treated as an ESC followed by the corresponding 7-bit character. Default is off.

+

-

* ''charset //set//'' - "Change the current character set slot designation and charset mapping. The first four character of //set// are treated as charset designators while the fifth and sixth character must be in range 0 to 3 and set the GL/GR charset mapping. On every position a '.' may be used to indicate that the corresponding charset/mapping should not be changed (//set// is padded to six characters internally by appending '.' chars). New windows have ''BBBB02'' as default charset, unless an ''encoding'' command is active." [//I don't really understand this. It's obviously terminal charset munging, but I don't get the particulars--I just use UTF-8. <PMG>//]

+

-

* ''defbce on|off'' - Same as ''bce'', but sets the default setting for new windows.

+

-

* ''defbreaktype [tcsendbreak|TIOCSBRK|TCSBRK]'' - Sets the type of break signal sent via the ''break'' or ''pow_break'' command. Recommended settings are tcsendbreak and TIOCSBRK. TCSBRK blocks the whole session, but may be the only way to get long breaks. [//The man page is somewhat light on detail here. Clarifications appreciated. <PMG>//]

+

-

* ''defc1 on|off'' - Same as ''c1'', but sets the default setting for new windows.

+

-

* ''defcharset [//set//]'' - Same as ''charset'', but sets the default setting for new windows.

+

-

* ''defflow on|off|auto [interrupt]'' - Same as ''flow'', but sets the default setting for new windows.

+

-

* ''defgr on|off'' - Same as ''gr'', but sets the default setting for new windows.

+

-

* ''defencoding //enc//'' - Same as ''encoding'', but sets the default setting for new windows.

+

-

* ''defnonblock on|off|//numsecs//'' - Same as ''nonblock'', but sets the default setting for new displays.

+

-

* ''defutf8 on|off'' - Same as ''utf8'', but sets the default setting for new windows.

+

-

* ''defwrap on|off'' - Same as ''wrap'', but sets the default setting for new windows.

+

-

* ''dinfo'' - Shows what settings screen is using for the current display. As of screen 4.0.2 shows: display dimensions (columns, rows), encoding, whether the display is an xterm, whether the display supports color, and what charset is in use (one of iso2022 or altchar).

+

-

* ''dumptermcap'' - Tells screen to create a .termcap file in its socket directory. The file will contain all the termcap settings for screen's virtual terminal. It's the same as the $TERMCAP environment variable that screen sets, but can be used for programs that don't understand $TERMCAP.

+

-

* ''encoding //enc// [//enc//]'' - Set the character encoding for the current window. The second argument sets the character encoding for the current display (and is rarely needed because screen can usually tell from its locale settings).

* ''gr [on|off]'' - Sets or toggles GR charset switching. If on, when asked to display a character with the 8th bit set, screen uses the GR charset. While necessary for some terminals, it is not compatible with 8-bit encodings (such as ISO8859-1) and dfaults to off.

+

-

* ''nonblock [on|off|//numsecs//]'' - Sets or toggles screen's behavior when a display stops receiving characters. When off, screen blocks on sending to the terminal; in some situations this can freeze the entire session. When on, screen waits the specified timeout (''on'' is equivalent to 1 second); if the display still does not respond, screen stops sending to it until it recovers. Default is off.

+

-

* ''partial on|off'' - Sets whether screen should draw the entire window when switching windows. If on, screen will blank the display and then draw only the line that the cursor is on. Useful for slow terminals. Default is off.

+

-

* ''printcmd [//cmd//]'' - Shows or sets the command used for handling the ANSI print sequence ''ESC [ 5 i''. If set, the text to be printed will be given to the command on standard input. If unset, screen will use the ''po'' and ''pf'' terminal capabilities to tell the display terminal to print the text. Default is unset.

+

-

* ''reset'' - Resets the current window's virtual terminal settings to their default settings. Only affects changes made by escape sequences (things like scrolling regions, color settings, etc.), not changes made by screen commands. Effectively the same as power-cycling a physical terminal.

+

-

* ''term //term//'' - Changes the value of $TERM that screen passes to its windows' child processes. Useful when the default, 'screen', is unknown to a system. Be careful to set it to a compatible value; 'vt100' is recommended.

+

-

* ''[termcap|terminfo|termcapinfo] //term// //terminal-tweaks// [//window-tweaks//]'' - Tweaks termcap entries for either screen's interaction with the display terminal (//terminal-tweaks//) or for the virtual terminal presented to child programs (//window-tweaks//). See "Extras" section for discussion.

+

-

* ''utf8 [on|off [on|off]]'' - Changes or toggles the encoding on the current window. The second parameter changes the UTF-8 setting of the display. (The ''-U'' option is the preferred way to set that, however.) [//Is this merely equivalent to ''encoding UTF-8''? <PMG>//]

+

-

* ''wrap [on|off]'' - Sets or toggles the current window's line wrap setting. When on, characters displayed while the cursor is at the end of the line will cause the cursor to wrap to the next line. When off, the cursor will stay at the end of the line, and the characters will overwrite each other. Default is on.

+

-

* ''zmodem [off|auto|catch|pass]'' - Sets screen's handling of zmodem communcations. ''pass'' means that screen will not do anything to zmodem streams and will relay them to the display terminal. ''catch'' means that screen will catch and intermret the streams itself; the display terminal will not see them. ''auto'' attempts to determine what the correct setting is; it uses ''catch'' if the display is a tty and ''pass'' if the display is a pseudoterminal. [//But what does ''off'' mean? <PMG>//] This is an experimental feature.

+

-

* ''zmodem sendcmd|recvcmd [//string//]'' - Sets the templates used when in ''catch'' mode for the zmodem protocol.

+

-

==== Examples ====

+

-

+

-

Upon being asked to print a block of text, save it to a file in the user's ome directory:

+

<code>

<code>

Line 132:

Line 126:

Add function key labels to the termcap entries for screen's virtual

Add function key labels to the termcap entries for screen's virtual

terminal. For purposes of modifying the windows' termcap entries, the

terminal. For purposes of modifying the windows' termcap entries, the

-

term-type specified doesn't matter.

+

term-type specified doesn't matter:

<code>

<code>

Line 138:

Line 132:

</code>

</code>

-

Abuse screen's hardstatus support to put things in xterm titlebars. This

+

Abuse ''screen'''s hardstatus support to put things in xterm titlebars.

-

tells screen that xterms (and related terminals) have a hardstatus line

+

This tells ''screen'' that ''xterm''s (and related terminals) have a

-

(''hs'') and sets the escape sequences for entering (''ts'') and leaving

+

hardstatus line (''hs'') and sets the escape sequences for entering

-

(''fs'') the hardstatus to the sequences for entering and leaving the

+

(''ts'') and leaving (''fs'') the hardstatus to the sequences for entering

-

titlebar. To go with that, uses ''defhstatus'' to set a default message

+

and leaving the titlebar. To go with that, uses

-

and ''hardstatus off'' to tell screen not to use the hardstatus line for

+

''[[commands:defhstatus]]'' to set a default message and

-

screen messages:

+

''[[commands:hardstatus]] off'' to tell ''screen'' not to use the

+

hardstatus line for ''screen'' messages:

<code>

<code>

Line 152:

Line 147:

</code>

</code>

-

(FAQ) Turns off alternate screen switching in xterms, so that text in screen

+

(FAQ) Turns off alternate screen switching in ''xterm''s, so that text in