X-Git-Url: https://ncurses.scripts.mit.edu/?a=blobdiff_plain;ds=sidebyside;f=doc%2Fhtml%2Fman%2Ftset.1.html;h=b2b865cc3cbf82a8cd75677e42f9ea6e7243a5a8;hb=HEAD;hp=d4700855864ef4da052f3220df3f9748160d5ddd;hpb=248c593599dc26d99661556677732ab857d9b8ac;p=ncurses.git diff --git a/doc/html/man/tset.1.html b/doc/html/man/tset.1.html index d4700855..cbec400c 100644 --- a/doc/html/man/tset.1.html +++ b/doc/html/man/tset.1.html @@ -1,6 +1,6 @@
-tset(1) User commands tset(1) @@ -47,17 +47,19 @@
- tset, reset - terminal initialization + tset, reset - initialize or reset terminal state
- tset [-IQVcqrsw] [-] [-e ch] [-i ch] [-k ch] [-m mapping] [terminal] - reset [-IQVcqrsw] [-] [-e ch] [-i ch] [-k ch] [-m mapping] [terminal] + tset [-IQVcqrsw] [-] [-e ch] [-i ch] [-k ch] [-m mapping] [terminal- + type] + reset [-IQVcqrsw] [-] [-e ch] [-i ch] [-k ch] [-m mapping] [terminal- + type]
-
+
This program initializes terminals. First, tset retrieves the current terminal mode settings for your @@ -79,25 +81,25 @@ 1. The terminal argument specified on the command line. - 2. The value of the TERM environmental variable. + 2. The value of the TERM environment variable. 3. (BSD systems only.) The terminal type associated with the standard - error output device in the /etc/ttys file. (On System-V-like UNIXes - and systems using that convention, getty(1) does this job by setting - TERM according to the type passed to it by /etc/inittab.) + error output device in the /etc/ttys file. (On System V hosts and + systems using that convention, getty(8) does this job by setting TERM + according to the type passed to it by /etc/inittab.) 4. The default terminal type, "unknown", is not suitable for curses applications. If the terminal type was not specified on the command-line, the -m - option mappings are then applied (see the section TERMINAL TYPE MAPPING - for more information). Then, if the terminal type begins with a - question mark ("?"), the user is prompted for confirmation of the - terminal type. An empty response confirms the type, or, another type - can be entered to specify a new type. Once the terminal type has been - determined, the terminal description for the terminal is retrieved. If - no terminal description is found for the type, the user is prompted for - another terminal type. + option mappings are then applied; see subsection "Terminal Type + Mapping". Then, if the terminal type begins with a question mark + ("?"), the user is prompted for confirmation of the terminal type. An + empty response confirms the type, or, another type can be entered to + specify a new type. Once the terminal type has been determined, the + terminal description for the terminal is retrieved. If no terminal + description is found for the type, the user is prompted for another + terminal type. Once the terminal description is retrieved, @@ -105,23 +107,25 @@ window size. If the window size cannot be obtained from the operating system, - but the terminal description (or environment, e.g., LINES and - COLUMNS variables specify this), use this to set the operating + but the terminal description (or environment, e.g., LINES and + COLUMNS variables specify this), use this to set the operating system's notion of the window size. o if the "-c" option is enabled, the backspace, interrupt and line kill characters (among many other things) are set o unless the "-I" option is enabled, the terminal and tab - initialization strings are sent to the standard error output, and - tset waits one second (in case a hardware reset was issued). + initialization strings are sent to the standard error output, and, + if the terminal device does not appear to be a pseudoterminal (as + might be used by a terminal emulator program), tset waits one + second in case a hardware reset was issued. o Finally, if the erase, interrupt and line kill characters have changed, or are not set to their default values, their values are displayed to the standard error output. -
+
When invoked as reset, tset sets the terminal modes to "sane" values: o sets cooked and echo modes, @@ -150,75 +154,25 @@ o Also, the terminal will often not echo the command. -
- The options are as follows: - - -c Set control characters and modes. - - -e ch - Set the erase character to ch. - - -I Do not send the terminal or tab initialization strings to the - terminal. - - -i ch - Set the interrupt character to ch. - - -k ch - Set the line kill character to ch. - - -m mapping - Specify a mapping from a port type to a terminal. See the section - TERMINAL TYPE MAPPING for more information. - - -Q Do not display any values for the erase, interrupt and line kill - characters. Normally tset displays the values for control - characters which differ from the system's default values. - - -q The terminal type is displayed to the standard output, and the - terminal is not initialized in any way. The option "-" by itself - is equivalent but archaic. - - -r Print the terminal type to the standard error output. - - -s Print the sequence of shell commands to initialize the environment - variable TERM to the standard output. See the section SETTING THE - ENVIRONMENT for details. - - -V reports the version of ncurses which was used in this program, and - exits. - - -w Resize the window to match the size deduced via setupterm(3x). - Normally this has no effect, unless setupterm is not able to - detect the window size. - - The arguments for the -e, -i, and -k options may either be entered as - actual characters or by using the "hat" notation, i.e., control-h may - be specified as "^H" or "^h". - - If neither -c or -w is given, both options are assumed. - - -
- It is often desirable to enter the terminal type and information about +
+ It is often desirable to enter the terminal type and information about the terminal's capabilities into the shell's environment. This is done using the -s option. - When the -s option is specified, the commands to enter the information - into the shell's environment are written to the standard output. If - the SHELL environmental variable ends in "csh", the commands are for - csh, otherwise, they are for sh(1). Note, the csh commands set and - unset the shell variable noglob, leaving it unset. The following line - in the .login or .profile files will initialize the environment - correctly: + When the -s option is specified, the commands to enter the information + into the shell's environment are written to the standard output. If + the SHELL environment variable ends in "csh", the commands are for + csh(1), otherwise, they are for sh(1). The csh commands set and unset + the shell variable noglob, leaving it unset. The following line in the + .login or .profile files will initialize the environment correctly: eval `tset -s options ... ` -
+
When the terminal is not hardwired into the system (or the current system information is incorrect) the terminal type derived from the - /etc/ttys file or the TERM environmental variable is often something + /etc/ttys file or the TERM environment variable is often something generic like network, dialup, or unknown. When tset is used in a startup script it is often desirable to provide information about the type of terminal used on such ports. @@ -260,143 +214,188 @@ No whitespace characters are permitted in the -m option argument. Also, to avoid problems with meta-characters, it is suggested that the entire -m option argument be placed within single quote characters, and - that csh users insert a backslash character ("\") before any + that csh users insert a backslash character ("\") before any exclamation marks ("!"). -
- A reset command appeared in 1BSD (March 1978), written by Kurt Shoens. - This program set the erase and kill characters to ^H (backspace) and @ - respectively. Mark Horton improved that in 3BSD (October 1979), adding - intr, quit, start/stop and eof characters as well as changing the - program to avoid modifying any user settings. That version of reset - did not use the termcap database. +
+ The options are as follows: - A separate tset command was provided in 1BSD by Eric Allman, using the - termcap database. Allman's comments in the source code indicate that - he began work in October 1977, continuing development over the next few - years. + -c Set control characters and modes. - According to comments in the source code, the tset program was modified - in September 1980, to use logic copied from the 3BSD "reset" when it - was invoked as reset. This version appeared in 4.1cBSD, late in 1982. + -e ch + Set the erase character to ch. - Other developers (e.g., Keith Bostic and Jim Bloom) continued to modify - tset until 4.4BSD was released in 1993. + -I Do not send the terminal or tab initialization strings to the + terminal. - The ncurses implementation was lightly adapted from the 4.4BSD sources - for a terminfo environment by Eric S. Raymond <esr@snark.thyrsus.com>. + -i ch + Set the interrupt character to ch. + -k ch + Set the line kill character to ch. -
- Neither IEEE Std 1003.1/The Open Group Base Specifications Issue 7 + -m mapping + Specify a mapping from a port type to a terminal; see subsection + "Terminal Type Mapping". + + -Q Do not display any values for the erase, interrupt and line kill + characters. Normally tset displays the values for control + characters which differ from the system's default values. + + -q The terminal type is displayed to the standard output, and the + terminal is not initialized in any way. The option "-" by itself + is equivalent but archaic. + + -r Print the terminal type to the standard error output. + + -s Print the sequence of shell commands to initialize the environment + variable TERM to the standard output; see subsection "Setting the + Environment". + + -V reports the version of ncurses which was used in this program, and + exits. + + -w Resize the window to match the size deduced via setupterm(3x). + Normally this has no effect, unless setupterm is not able to + detect the window size. + + The arguments for the -e, -i, and -k options may either be entered as + actual characters or by using the "hat" notation, i.e., control-h may + be specified as "^H" or "^h". + + If neither -c or -w is given, both options are assumed. + + +
+ The tset command uses these environment variables: + + SHELL + tells tset whether to initialize TERM using sh(1) or csh(1) + syntax. + + TERM Denotes your terminal type. Each terminal type is distinct, + though many are similar. + + TERMCAP + may denote the location of a termcap database. If it is not an + absolute pathname, e.g., begins with a "/", tset removes the + variable from the environment before looking for the terminal + description. + + +
+ /etc/ttys + system port name to terminal type mapping database (BSD versions + only). + + /usr/share/terminfo + compiled terminal description database directory + + +
+ Neither IEEE Std 1003.1/The Open Group Base Specifications Issue 7 (POSIX.1-2008) nor X/Open Curses Issue 7 documents tset or reset. - The AT&T tput utility (AIX, HPUX, Solaris) incorporated the terminal- - mode manipulation as well as termcap-based features such as resetting - tabstops from tset in BSD (4.1c), presumably with the intention of - making tset obsolete. However, each of those systems still provides - tset. In fact, the commonly-used reset utility is always an alias for + The AT&T tput utility (AIX, HP-UX, Solaris) incorporated the terminal- + mode manipulation as well as termcap-based features such as resetting + tabstops from tset in BSD (4.1c), presumably with the intention of + making tset obsolete. However, each of those systems still provides + tset. In fact, the commonly-used reset utility is always an alias for tset. - The tset utility provides for backward-compatibility with BSD - environments (under most modern UNIXes, /etc/inittab and getty(1) can - set TERM appropriately for each dial-up line; this obviates what was - tset's most important use). This implementation behaves like 4.4BSD - tset, with a few exceptions specified here. + The tset utility provides backward compatibility with BSD environments; + under most modern Unices, /etc/inittab and getty(8) can set TERM + appropriately for each dial-up line, obviating what was tset's most + important use. This implementation behaves like 4.4BSD tset, with a + few exceptions we shall consider now. - A few options are different because the TERMCAP variable is no longer - supported under terminfo-based ncurses: + A few options are different because the TERMCAP variable is no longer + supported under terminfo-based ncurses: - o The -S option of BSD tset no longer works; it prints an error + o The -S option of BSD tset no longer works; it prints an error message to the standard error and dies. - o The -s option only sets TERM, not TERMCAP. + o The -s option only sets TERM, not TERMCAP. - There was an undocumented 4.4BSD feature that invoking tset via a link - named "TSET" (or via any other name beginning with an upper-case + There was an undocumented 4.4BSD feature that invoking tset via a link + named "TSET" (or via any other name beginning with an upper-case letter) set the terminal to use upper-case only. This feature has been omitted. The -A, -E, -h, -u and -v options were deleted from the tset utility in - 4.4BSD. None of them were documented in 4.3BSD and all are of limited - utility at best. The -a, -d, and -p options are similarly not - documented or useful, but were retained as they appear to be in - widespread use. It is strongly recommended that any usage of these + 4.4BSD. None of them were documented in 4.3BSD and all are of limited + utility at best. The -a, -d, and -p options are similarly not + documented or useful, but were retained as they appear to be in + widespread use. It is strongly recommended that any usage of these three options be changed to use the -m option instead. The -a, -d, and -p options are therefore omitted from the usage summary above. - Very old systems, e.g., 3BSD, used a different terminal driver which - was replaced in 4BSD in the early 1980s. To accommodate these older - systems, the 4BSD tset provided a -n option to specify that the new - terminal driver should be used. This implementation does not provide + Very old systems, e.g., 3BSD, used a different terminal driver which + was replaced in 4BSD in the early 1980s. To accommodate these older + systems, the 4BSD tset provided a -n option to specify that the new + terminal driver should be used. This implementation does not provide that choice. - It is still permissible to specify the -e, -i, and -k options without + It is still permissible to specify the -e, -i, and -k options without arguments, although it is strongly recommended that such usage be fixed to explicitly specify the character. - As of 4.4BSD, executing tset as reset no longer implies the -Q option. + As of 4.4BSD, executing tset as reset no longer implies the -Q option. Also, the interaction between the - option and the terminal argument in some historic implementations of tset has been removed. - The -c and -w options are not found in earlier implementations. + The -c and -w options are not found in earlier implementations. However, a different window size-change feature was provided in 4.4BSD. - o In 4.4BSD, tset uses the window size from the termcap description - to set the window size if tset is not able to obtain the window + o In 4.4BSD, tset uses the window size from the termcap description + to set the window size if tset is not able to obtain the window size from the operating system. - o In ncurses, tset obtains the window size using setupterm, which may - be from the operating system, the LINES and COLUMNS environment + o In ncurses, tset obtains the window size using setupterm(3x), which + may be from the operating system, the LINES and COLUMNS environment variables or the terminal description. - Obtaining the window size from the terminal description is common to - both implementations, but considered obsolescent. Its only practical - use is for hardware terminals. Generally speaking, a window size would - be unset only if there were some problem obtaining the value from the - operating system (and setupterm would still fail). For that reason, - the LINES and COLUMNS environment variables may be useful for working - around window-size problems. Those have the drawback that if the - window is resized, those variables must be recomputed and reassigned. - To do this more easily, use the resize(1) program. - - -
- The tset command uses these environment variables: - - SHELL - tells tset whether to initialize TERM using sh(1) or csh(1) - syntax. - - TERM Denotes your terminal type. Each terminal type is distinct, - though many are similar. - - TERMCAP - may denote the location of a termcap database. If it is not an - absolute pathname, e.g., begins with a "/", tset removes the - variable from the environment before looking for the terminal - description. - + Obtaining the window size from a terminal's type description is common + to both implementations, but considered obsolescent. Its only + practical use is for hardware terminals. Generally, the window size + will remain uninitialized only if there were a problem obtaining the + value from the operating system (and setupterm would still fail). The + LINES and COLUMNS environment variables may thus be useful for working + around window-size problems, but have the drawback that if the window + is resized, their values must be recomputed and reassigned. The + resize(1) program distributed with xterm(1) assists this activity. -
- /etc/ttys - system port name to terminal type mapping database (BSD versions - only). - /usr/share/terminfo - terminal capability database +
+ A reset command written by Kurt Shoens appeared in 1BSD (March 1978). + It set the erase and kill characters to ^H (backspace) and @ + respectively. Mark Horton improved this reset in 3BSD (October 1979), + adding intr, quit, start/stop, and eof characters as well as changing + the program to avoid modifying any user settings. That version of + reset did not use termcap. + + Eric Allman wrote a distinct tset command for 1BSD, using a forerunner + of termcap called ttycap. Allman's comments in the source code + indicate that he began work in October 1977, continuing development + over the next few years. By late 1979, it had migrated to termcap and + handled the TERMCAP variable. Later comments indicate that tset was + modified in September 1980 to use logic copied from the 3BSD "reset" + program when it was invoked as reset. This version appeared in + 4.1cBSD, late in 1982. Other developers such as Keith Bostic and Jim + Bloom continued to modify tset until 4.4BSD was released in 1993. + + The ncurses implementation was lightly adapted from the 4.4BSD sources + to use the terminfo API by Eric S. Raymond <esr@snark.thyrsus.com>.
- csh(1), sh(1), stty(1), curs_terminfo(3x), tty(4), terminfo(5), + csh(1), sh(1), stty(1), curs_terminfo(3x), tty(4), terminfo(5), ttys(5), environ(7) - This describes ncurses version 6.4 (patch 20230715). - -ncurses 6.4 2023-07-01 tset(1) +ncurses 6.5 2024-06-08 tset(1)