* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: tset.1,v 1.48 2017/01/14 20:55:07 tom Exp @
+ * @Id: tset.1,v 1.49 2017/04/16 21:30:15 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<BODY>
<H1 class="no-header">tset 1</H1>
<PRE>
-<STRONG><A HREF="tset.1.html">tset(1)</A></STRONG> <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>
+<STRONG><A HREF="tset.1.html">tset(1)</A></STRONG> <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>tset</STRONG> [<STRONG>-IQVcqrsw</STRONG>] [<STRONG>-</STRONG>] [<STRONG>-e</STRONG> <EM>ch</EM>] [<STRONG>-i</STRONG> <EM>ch</EM>] [<STRONG>-k</STRONG> <EM>ch</EM>] [<STRONG>-m</STRONG> <EM>mapping</EM>]
- [<EM>terminal</EM>]
- <STRONG>reset</STRONG> [<STRONG>-IQVcqrsw</STRONG>] [<STRONG>-</STRONG>] [<STRONG>-e</STRONG> <EM>ch</EM>] [<STRONG>-i</STRONG> <EM>ch</EM>] [<STRONG>-k</STRONG> <EM>ch</EM>] [<STRONG>-m</STRONG> <EM>mapping</EM>]
- [<EM>terminal</EM>]
+ <STRONG>tset</STRONG> [<STRONG>-IQVcqrsw</STRONG>] [<STRONG>-</STRONG>] [<STRONG>-e</STRONG> <EM>ch</EM>] [<STRONG>-i</STRONG> <EM>ch</EM>] [<STRONG>-k</STRONG> <EM>ch</EM>] [<STRONG>-m</STRONG> <EM>mapping</EM>] [<EM>terminal</EM>]
+ <STRONG>reset</STRONG> [<STRONG>-IQVcqrsw</STRONG>] [<STRONG>-</STRONG>] [<STRONG>-e</STRONG> <EM>ch</EM>] [<STRONG>-i</STRONG> <EM>ch</EM>] [<STRONG>-k</STRONG> <EM>ch</EM>] [<STRONG>-m</STRONG> <EM>mapping</EM>] [<EM>terminal</EM>]
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
</PRE><H3><a name="h3-tset---initialization">tset - initialization</a></H3><PRE>
This program initializes terminals.
- First, <STRONG>tset</STRONG> retrieves the current terminal mode settings
- for your terminal. It does this by successively testing
+ First, <STRONG>tset</STRONG> retrieves the current terminal mode settings for your ter-
+ minal. It does this by successively testing
<STRONG>o</STRONG> the standard error,
<STRONG>o</STRONG> ultimately "/dev/tty"
- to obtain terminal settings. Having retrieved these set-
- tings, <STRONG>tset</STRONG> remembers which file descriptor to use when
- updating settings.
+ to obtain terminal settings. Having retrieved these settings, <STRONG>tset</STRONG>
+ remembers which file descriptor to use when updating settings.
- Next, <STRONG>tset</STRONG> determines the type of terminal that you are
- using. This determination is done as follows, using the
- first terminal type found.
+ Next, <STRONG>tset</STRONG> determines the type of terminal that you are using. This
+ determination is done as follows, using the first terminal type found.
1. The <STRONG>terminal</STRONG> argument specified on the command line.
2. The value of the <STRONG>TERM</STRONG> environmental variable.
- 3. (BSD systems only.) The terminal type associated with
- the standard error output device in the <EM>/etc/ttys</EM> file.
- (On System-V-like UNIXes and systems using that conven-
- tion, <EM>getty</EM> does this job by setting <STRONG>TERM</STRONG> according to the
- type passed to it by <EM>/etc/inittab</EM>.)
+ 3. (BSD systems only.) The terminal type associated with the standard
+ error output device in the <EM>/etc/ttys</EM> file. (On System-V-like UNIXes
+ and systems using that convention, <EM>getty</EM> does this job by setting <STRONG>TERM</STRONG>
+ according to the type passed to it by <EM>/etc/inittab</EM>.)
4. The default terminal type, "unknown".
- If the terminal type was not specified on the command-
- line, the <STRONG>-m</STRONG> option mappings are then applied (see the
- section <STRONG>TERMINAL</STRONG> <STRONG>TYPE</STRONG> <STRONG>MAPPING</STRONG> for more information).
- Then, if the terminal type begins with a question mark
- ("?"), the user is prompted for confirmation of the termi-
- nal 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.
+ If the terminal type was not specified on the command-line, the <STRONG>-m</STRONG>
+ option mappings are then applied (see the section <STRONG>TERMINAL</STRONG> <STRONG>TYPE</STRONG> <STRONG>MAPPING</STRONG>
+ for more information). Then, if the terminal type begins with a ques-
+ tion 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 deter-
+ mined, 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,
- <STRONG>o</STRONG> if the "<STRONG>-w</STRONG>" option is enabled, <STRONG>tset</STRONG> may update the
- terminal's window size.
+ <STRONG>o</STRONG> if the "<STRONG>-w</STRONG>" option is enabled, <STRONG>tset</STRONG> may update the terminal's win-
+ dow size.
- If the window size cannot be obtained from the operat-
- ing system, but the terminal description (or environ-
- ment, e.g., <STRONG>LINES</STRONG> and <STRONG>COLUMNS</STRONG> variables specify this),
- use this to set the operating system's notion of the
- window size.
+ If the window size cannot be obtained from the operating system,
+ but the terminal description (or environment, e.g., <STRONG>LINES</STRONG> and <STRONG>COL-</STRONG>
+ <STRONG>UMNS</STRONG> variables specify this), use this to set the operating sys-
+ tem's notion of the window size.
- <STRONG>o</STRONG> if the "<STRONG>-c</STRONG>" option is enabled, the backspace, inter-
- rupt and line kill characters (among many other
- things) are set
+ <STRONG>o</STRONG> if the "<STRONG>-c</STRONG>" option is enabled, the backspace, interrupt and line
+ kill characters (among many other things) are set
- <STRONG>o</STRONG> unless the "<STRONG>-I</STRONG>" option is enabled, the terminal and
- tab <EM>initialization</EM> strings are sent to the standard
- error output, and <STRONG>tset</STRONG> waits one second (in case a
- hardware reset was issued).
+ <STRONG>o</STRONG> unless the "<STRONG>-I</STRONG>" option is enabled, the terminal and tab <EM>initializa-</EM>
+ <EM>tion</EM> strings are sent to the standard error output, and <STRONG>tset</STRONG> waits
+ one second (in case a hardware reset was issued).
- <STRONG>o</STRONG> Finally, if the erase, interrupt and line kill charac-
- ters have changed, or are not set to their default
- values, their values are displayed to the standard
- error output.
+ <STRONG>o</STRONG> 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.
</PRE><H3><a name="h3-reset---reinitialization">reset - reinitialization</a></H3><PRE>
- When invoked as <STRONG>reset</STRONG>, <STRONG>tset</STRONG> sets the terminal modes to
- "sane" values:
+ When invoked as <STRONG>reset</STRONG>, <STRONG>tset</STRONG> sets the terminal modes to "sane" values:
<STRONG>o</STRONG> sets cooked and echo modes,
<STRONG>o</STRONG> turns on newline translation and
- <STRONG>o</STRONG> resets any unset special characters to their default
- values
+ <STRONG>o</STRONG> resets any unset special characters to their default values
- before doing the terminal initialization described above.
- Also, rather than using the terminal <EM>initialization</EM>
- strings, it uses the terminal <EM>reset</EM> strings.
+ before doing the terminal initialization described above. Also, rather
+ than using the terminal <EM>initialization</EM> strings, it uses the terminal
+ <EM>reset</EM> strings.
- The <STRONG>reset</STRONG> command is useful after a program dies leaving a
- terminal in an abnormal state:
+ The <STRONG>reset</STRONG> command is useful after a program dies leaving a terminal in
+ an abnormal state:
<STRONG>o</STRONG> you may have to type
<EM><LF></EM><STRONG>reset</STRONG><EM><LF></EM>
- (the line-feed character is normally control-J) to get
- the terminal to work, as carriage-return may no longer
- work in the abnormal state.
+ (the line-feed character is normally control-J) to get the terminal
+ to work, as carriage-return may no longer work in the abnormal
+ state.
<STRONG>o</STRONG> Also, the terminal will often not echo the command.
<STRONG>-e</STRONG> Set the erase character to <EM>ch</EM>.
- <STRONG>-I</STRONG> Do not send the terminal or tab initialization
- strings to the terminal.
+ <STRONG>-I</STRONG> Do not send the terminal or tab initialization strings to the ter-
+ minal.
<STRONG>-i</STRONG> Set the interrupt character to <EM>ch</EM>.
<STRONG>-k</STRONG> Set the line kill character to <EM>ch</EM>.
- <STRONG>-m</STRONG> Specify a mapping from a port type to a terminal.
- See the section <STRONG>TERMINAL</STRONG> <STRONG>TYPE</STRONG> <STRONG>MAPPING</STRONG> for more infor-
- mation.
+ <STRONG>-m</STRONG> Specify a mapping from a port type to a terminal. See the section
+ <STRONG>TERMINAL</STRONG> <STRONG>TYPE</STRONG> <STRONG>MAPPING</STRONG> for more information.
- <STRONG>-Q</STRONG> Do not display any values for the erase, interrupt
- and line kill characters. Normally <STRONG>tset</STRONG> displays the
- values for control characters which differ from the
- system's default values.
+ <STRONG>-Q</STRONG> Do not display any values for the erase, interrupt and line kill
+ characters. Normally <STRONG>tset</STRONG> displays the values for control charac-
+ ters which differ from the system's default values.
- <STRONG>-q</STRONG> The terminal type is displayed to the standard out-
- put, and the terminal is not initialized in any way.
- The option "-" by itself is equivalent but archaic.
+ <STRONG>-q</STRONG> 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.
<STRONG>-r</STRONG> Print the terminal type to the standard error output.
- <STRONG>-s</STRONG> Print the sequence of shell commands to initialize
- the environment variable <STRONG>TERM</STRONG> to the standard output.
- See the section <STRONG>SETTING</STRONG> <STRONG>THE</STRONG> <STRONG>ENVIRONMENT</STRONG> for details.
+ <STRONG>-s</STRONG> Print the sequence of shell commands to initialize the environment
+ variable <STRONG>TERM</STRONG> to the standard output. See the section <STRONG>SETTING</STRONG> <STRONG>THE</STRONG>
+ <STRONG>ENVIRONMENT</STRONG> for details.
- <STRONG>-V</STRONG> reports the version of ncurses which was used in this
- program, and exits.
+ <STRONG>-V</STRONG> reports the version of ncurses which was used in this program, and
+ exits.
- <STRONG>-w</STRONG> Resize the window to match the size deduced via
- <STRONG><A HREF="curs_terminfo.3x.html">setupterm(3x)</A></STRONG>. Normally this has no effect, unless
- <STRONG>setupterm</STRONG> is not able to detect the window size.
+ <STRONG>-w</STRONG> Resize the window to match the size deduced via <STRONG><A HREF="curs_terminfo.3x.html">setupterm(3x)</A></STRONG>.
+ Normally this has no effect, unless <STRONG>setupterm</STRONG> is not able to
+ detect the window size.
- The arguments for the <STRONG>-e</STRONG>, <STRONG>-i</STRONG>, and <STRONG>-k</STRONG> options may either be
- entered as actual characters or by using the "hat" nota-
- tion, i.e., control-h may be specified as "^H" or "^h".
+ The arguments for the <STRONG>-e</STRONG>, <STRONG>-i</STRONG>, and <STRONG>-k</STRONG> 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 <STRONG>-c</STRONG> or <STRONG>-w</STRONG> is given, both options are assumed.
</PRE><H2><a name="h2-SETTING-THE-ENVIRONMENT">SETTING THE ENVIRONMENT</a></H2><PRE>
- 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 <STRONG>-s</STRONG> option.
-
- When the <STRONG>-s</STRONG> option is specified, the commands to enter the
- information into the shell's environment are written to
- the standard output. If the <STRONG>SHELL</STRONG> environmental variable
- ends in "csh", the commands are for <STRONG>csh</STRONG>, otherwise, they
- are for <STRONG>sh</STRONG>. Note, the <STRONG>csh</STRONG> commands set and unset the
- shell variable <STRONG>noglob</STRONG>, leaving it unset. The following
- line in the <STRONG>.login</STRONG> or <STRONG>.profile</STRONG> files will initialize the
- environment correctly:
+ 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 <STRONG>-s</STRONG> option.
+
+ When the <STRONG>-s</STRONG> option is specified, the commands to enter the information
+ into the shell's environment are written to the standard output. If
+ the <STRONG>SHELL</STRONG> environmental variable ends in "csh", the commands are for
+ <STRONG>csh</STRONG>, otherwise, they are for <STRONG>sh</STRONG>. Note, the <STRONG>csh</STRONG> commands set and unset
+ the shell variable <STRONG>noglob</STRONG>, leaving it unset. The following line in the
+ <STRONG>.login</STRONG> or <STRONG>.profile</STRONG> files will initialize the environment correctly:
eval `tset -s options ... `
</PRE><H2><a name="h2-TERMINAL-TYPE-MAPPING">TERMINAL TYPE MAPPING</a></H2><PRE>
- When the terminal is not hardwired into the system (or the
- current system information is incorrect) the terminal type
- derived from the <EM>/etc/ttys</EM> file or the <STRONG>TERM</STRONG> environmental
- variable is often something generic like <STRONG>network</STRONG>, <STRONG>dialup</STRONG>,
- or <STRONG>unknown</STRONG>. When <STRONG>tset</STRONG> is used in a startup script it is
- often desirable to provide information about the type of
- terminal used on such ports.
-
- The <STRONG>-m</STRONG> options maps from some set of conditions to a ter-
- minal type, that is, to tell <STRONG>tset</STRONG> "If I'm on this port at
- a particular speed, guess that I'm on that kind of termi-
- nal".
-
- The argument to the <STRONG>-m</STRONG> option consists of an optional port
- type, an optional operator, an optional baud rate specifi-
- cation, an optional colon (":") character and a terminal
- type. The port type is a string (delimited by either the
- operator or the colon character). The operator may be any
- combination of ">", "<", "@", and "!"; ">" means greater
- than, "<" means less than, "@" means equal to and "!"
- inverts the sense of the test. The baud rate is specified
- as a number and is compared with the speed of the standard
- error output (which should be the control terminal). The
- terminal type is a string.
-
- If the terminal type is not specified on the command line,
- the <STRONG>-m</STRONG> mappings are applied to the terminal type. If the
- port type and baud rate match the mapping, the terminal
- type specified in the mapping replaces the current type.
- If more than one mapping is specified, the first applica-
- ble mapping is used.
-
- For example, consider the following mapping:
- <STRONG>dialup>9600:vt100</STRONG>. The port type is dialup , the operator
- is >, the baud rate specification is 9600, and the termi-
- nal type is vt100. The result of this mapping is to spec-
- ify that if the terminal type is <STRONG>dialup</STRONG>, and the baud rate
- is greater than 9600 baud, a terminal type of <STRONG>vt100</STRONG> will
- be used.
-
- If no baud rate is specified, the terminal type will match
- any baud rate. If no port type is specified, the terminal
- type will match any port type. For example, <STRONG>-m</STRONG>
- <STRONG>dialup:vt100</STRONG> <STRONG>-m</STRONG> <STRONG>:?xterm</STRONG> will cause any dialup port,
- regardless of baud rate, to match the terminal type vt100,
- and any non-dialup port type to match the terminal type
- ?xterm. Note, because of the leading question mark, the
- user will be queried on a default port as to whether they
- are actually using an xterm terminal.
-
- No whitespace characters are permitted in the <STRONG>-m</STRONG> option
- argument. Also, to avoid problems with meta-characters,
- it is suggested that the entire <STRONG>-m</STRONG> option argument be
- placed within single quote characters, and that <STRONG>csh</STRONG> users
- insert a backslash character ("\") before any exclamation
- marks ("!").
+ When the terminal is not hardwired into the system (or the current sys-
+ tem information is incorrect) the terminal type derived from the
+ <EM>/etc/ttys</EM> file or the <STRONG>TERM</STRONG> environmental variable is often something
+ generic like <STRONG>network</STRONG>, <STRONG>dialup</STRONG>, or <STRONG>unknown</STRONG>. When <STRONG>tset</STRONG> is used in a
+ startup script it is often desirable to provide information about the
+ type of terminal used on such ports.
+
+ The <STRONG>-m</STRONG> options maps from some set of conditions to a terminal type,
+ that is, to tell <STRONG>tset</STRONG> "If I'm on this port at a particular speed, guess
+ that I'm on that kind of terminal".
+
+ The argument to the <STRONG>-m</STRONG> option consists of an optional port type, an
+ optional operator, an optional baud rate specification, an optional
+ colon (":") character and a terminal type. The port type is a string
+ (delimited by either the operator or the colon character). The opera-
+ tor may be any combination of ">", "<", "@", and "!"; ">" means greater
+ than, "<" means less than, "@" means equal to and "!" inverts the sense
+ of the test. The baud rate is specified as a number and is compared
+ with the speed of the standard error output (which should be the con-
+ trol terminal). The terminal type is a string.
+
+ If the terminal type is not specified on the command line, the <STRONG>-m</STRONG> map-
+ pings are applied to the terminal type. If the port type and baud rate
+ match the mapping, the terminal type specified in the mapping replaces
+ the current type. If more than one mapping is specified, the first
+ applicable mapping is used.
+
+ For example, consider the following mapping: <STRONG>dialup>9600:vt100</STRONG>. The
+ port type is dialup , the operator is >, the baud rate specification is
+ 9600, and the terminal type is vt100. The result of this mapping is to
+ specify that if the terminal type is <STRONG>dialup</STRONG>, and the baud rate is
+ greater than 9600 baud, a terminal type of <STRONG>vt100</STRONG> will be used.
+
+ If no baud rate is specified, the terminal type will match any baud
+ rate. If no port type is specified, the terminal type will match any
+ port type. For example, <STRONG>-m</STRONG> <STRONG>dialup:vt100</STRONG> <STRONG>-m</STRONG> <STRONG>:?xterm</STRONG> will cause any
+ dialup port, regardless of baud rate, to match the terminal type vt100,
+ and any non-dialup port type to match the terminal type ?xterm. Note,
+ because of the leading question mark, the user will be queried on a
+ default port as to whether they are actually using an xterm terminal.
+
+ No whitespace characters are permitted in the <STRONG>-m</STRONG> option argument.
+ Also, to avoid problems with meta-characters, it is suggested that the
+ entire <STRONG>-m</STRONG> option argument be placed within single quote characters, and
+ that <STRONG>csh</STRONG> users insert a backslash character ("\") before any exclama-
+ tion marks ("!").
</PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
- A <STRONG>reset</STRONG> command appeared in 2BSD (April 1979), written by
- Kurt Shoens. This program set the <EM>erase</EM> and <EM>kill</EM> charac-
- ters to <STRONG>^H</STRONG> (backspace) and <STRONG>@</STRONG> respectively. Mark Horton
- improved that in 3BSD (October 1979), adding <EM>intr</EM>, <EM>quit</EM>,
- <EM>start</EM>/<EM>stop</EM> and <EM>eof</EM> characters as well as changing the pro-
+ A <STRONG>reset</STRONG> command appeared in 2BSD (April 1979), written by Kurt Shoens.
+ This program set the <EM>erase</EM> and <EM>kill</EM> characters to <STRONG>^H</STRONG> (backspace) and <STRONG>@</STRONG>
+ respectively. Mark Horton improved that in 3BSD (October 1979), adding
+ <EM>intr</EM>, <EM>quit</EM>, <EM>start</EM>/<EM>stop</EM> and <EM>eof</EM> characters as well as changing the pro-
gram to avoid modifying any user settings.
- Later in 4.1BSD (December 1980), Mark Horton added a call
- to the <STRONG>tset</STRONG> program using the <STRONG>-I</STRONG> and <STRONG>-Q</STRONG> options, i.e.,
- using that to improve the terminal modes. With those
- options, that version of <STRONG>reset</STRONG> did not use the termcap
- database.
-
- A separate <STRONG>tset</STRONG> command was provided in 2BSD by Eric All-
- man. While the oldest published source (from 1979) pro-
- vides both <STRONG>tset</STRONG> and <STRONG>reset</STRONG>, Allman's comments in the 2BSD
- source code indicate that he began work in October 1977,
- continuing development over the next few years.
-
- In September 1980, Eric Allman modified <STRONG>tset</STRONG>, adding the
- code from the existing "reset" feature when <STRONG>tset</STRONG> was
- invoked as <STRONG>reset</STRONG>. Rather than simply copying the existing
- program, in this merged version, <STRONG>tset</STRONG> used the termcap
- database to do additional (re)initialization of the termi-
+ Later in 4.1BSD (December 1980), Mark Horton added a call to the <STRONG>tset</STRONG>
+ program using the <STRONG>-I</STRONG> and <STRONG>-Q</STRONG> options, i.e., using that to improve the
+ terminal modes. With those options, that version of <STRONG>reset</STRONG> did not use
+ the termcap database.
+
+ A separate <STRONG>tset</STRONG> command was provided in 2BSD by Eric Allman. While the
+ oldest published source (from 1979) provides both <STRONG>tset</STRONG> and <STRONG>reset</STRONG>, All-
+ man's comments in the 2BSD source code indicate that he began work in
+ October 1977, continuing development over the next few years.
+
+ In September 1980, Eric Allman modified <STRONG>tset</STRONG>, adding the code from the
+ existing "reset" feature when <STRONG>tset</STRONG> was invoked as <STRONG>reset</STRONG>. Rather than
+ simply copying the existing program, in this merged version, <STRONG>tset</STRONG> used
+ the termcap database to do additional (re)initialization of the termi-
nal. This version appeared in 4.1cBSD, late in 1982.
- Other developers (e.g., Keith Bostic and Jim Bloom) con-
- tinued to modify <STRONG>tset</STRONG> until 4.4BSD was released in 1993.
+ Other developers (e.g., Keith Bostic and Jim Bloom) continued to modify
+ <STRONG>tset</STRONG> until 4.4BSD was released in 1993.
- The <STRONG>ncurses</STRONG> implementation was lightly adapted from the
- 4.4BSD sources for a terminfo environment by Eric S. Ray-
- mond <esr@snark.thyrsus.com>.
+ The <STRONG>ncurses</STRONG> implementation was lightly adapted from the 4.4BSD sources
+ for a terminfo environment by Eric S. Raymond <esr@snark.thyrsus.com>.
</PRE><H2><a name="h2-COMPATIBILITY">COMPATIBILITY</a></H2><PRE>
- Neither IEEE Std 1003.1/The Open Group Base Specifications
- Issue 7 (POSIX.1-2008) nor X/Open Curses Issue 7 documents
- <STRONG>tset</STRONG> or <STRONG>reset</STRONG>.
-
- The AT&T <STRONG>tput</STRONG> utility (AIX, HPUX, Solaris) incorporated
- the terminal-mode manipulation as well as termcap-based
- features such as resetting tabstops from <STRONG>tset</STRONG> in BSD
- (4.1c), presumably with the intention of making <STRONG>tset</STRONG> obso-
- lete. However, each of those systems still provides <STRONG>tset</STRONG>.
- In fact, the commonly-used <STRONG>reset</STRONG> utility is always an
- alias for <STRONG>tset</STRONG>.
-
- The <STRONG>tset</STRONG> utility provides for backward-compatibility with
- BSD environments (under most modern UNIXes, <STRONG>/etc/inittab</STRONG>
- and <STRONG>getty(1)</STRONG> can set <STRONG>TERM</STRONG> appropriately for each dial-up
- line; this obviates what was <STRONG>tset</STRONG>'s most important use).
- This implementation behaves like 4.4BSD <STRONG>tset</STRONG>, with a few
- exceptions specified here.
-
- A few options are different because the <STRONG>TERMCAP</STRONG> variable
- is no longer supported under terminfo-based <STRONG>ncurses</STRONG>:
-
- <STRONG>o</STRONG> The <STRONG>-S</STRONG> option of BSD <STRONG>tset</STRONG> no longer works; it prints
- an error message to the standard error and dies.
+ Neither IEEE Std 1003.1/The Open Group Base Specifications Issue 7
+ (POSIX.1-2008) nor X/Open Curses Issue 7 documents <STRONG>tset</STRONG> or <STRONG>reset</STRONG>.
+
+ The AT&T <STRONG>tput</STRONG> utility (AIX, HPUX, Solaris) incorporated the terminal-
+ mode manipulation as well as termcap-based features such as resetting
+ tabstops from <STRONG>tset</STRONG> in BSD (4.1c), presumably with the intention of mak-
+ ing <STRONG>tset</STRONG> obsolete. However, each of those systems still provides <STRONG>tset</STRONG>.
+ In fact, the commonly-used <STRONG>reset</STRONG> utility is always an alias for <STRONG>tset</STRONG>.
+
+ The <STRONG>tset</STRONG> utility provides for backward-compatibility with BSD environ-
+ ments (under most modern UNIXes, <STRONG>/etc/inittab</STRONG> and <STRONG>getty(1)</STRONG> can set <STRONG>TERM</STRONG>
+ appropriately for each dial-up line; this obviates what was <STRONG>tset</STRONG>'s most
+ important use). This implementation behaves like 4.4BSD <STRONG>tset</STRONG>, with a
+ few exceptions specified here.
+
+ A few options are different because the <STRONG>TERMCAP</STRONG> variable is no longer
+ supported under terminfo-based <STRONG>ncurses</STRONG>:
+
+ <STRONG>o</STRONG> The <STRONG>-S</STRONG> option of BSD <STRONG>tset</STRONG> no longer works; it prints an error mes-
+ sage to the standard error and dies.
<STRONG>o</STRONG> The <STRONG>-s</STRONG> option only sets <STRONG>TERM</STRONG>, not <STRONG>TERMCAP</STRONG>.
- There was an undocumented 4.4BSD feature that invoking
- <STRONG>tset</STRONG> via a link named "TSET" (or via any other name begin-
- ning with an upper-case letter) set the terminal to use
- upper-case only. This feature has been omitted.
-
- The <STRONG>-A</STRONG>, <STRONG>-E</STRONG>, <STRONG>-h</STRONG>, <STRONG>-u</STRONG> and <STRONG>-v</STRONG> options were deleted from the
- <STRONG>tset</STRONG> utility in 4.4BSD. None of them were documented in
- 4.3BSD and all are of limited utility at best. The <STRONG>-a</STRONG>,
- <STRONG>-d</STRONG>, and <STRONG>-p</STRONG> 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 <STRONG>-m</STRONG> option instead. The <STRONG>-a</STRONG>,
- <STRONG>-d</STRONG>, and <STRONG>-p</STRONG> 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 <STRONG>tset</STRONG> provided a
- <STRONG>-n</STRONG> 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 <STRONG>-e</STRONG>, <STRONG>-i</STRONG>, and <STRONG>-k</STRONG>
- options without arguments, although it is strongly recom-
- mended that such usage be fixed to explicitly specify the
- character.
-
- As of 4.4BSD, executing <STRONG>tset</STRONG> as <STRONG>reset</STRONG> no longer implies
- the <STRONG>-Q</STRONG> option. Also, the interaction between the - option
- and the <EM>terminal</EM> argument in some historic implementations
- of <STRONG>tset</STRONG> has been removed.
-
- The <STRONG>-c</STRONG> and <STRONG>-w</STRONG> options are not found in earlier implementa-
- tions. However, a different window size-change feature
- was provided in 4.4BSD.
-
- <STRONG>o</STRONG> In 4.4BSD, <STRONG>tset</STRONG> uses the window size from the termcap
- description to set the window size if <STRONG>tset</STRONG> is not able
- to obtain the window size from the operating system.
-
- <STRONG>o</STRONG> In ncurses, <STRONG>tset</STRONG> obtains the window size using
- <STRONG>setupterm</STRONG>, which may be from the operating system, the
- <STRONG>LINES</STRONG> and <STRONG>COLUMNS</STRONG> environment variables or the termi-
- nal description.
-
- Obtaining the window size from the terminal description is
- common to both implementations, but considered obsoles-
- cent. 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 oper-
- ating system (and <STRONG>setupterm</STRONG> would still fail). For that
- reason, the <STRONG>LINES</STRONG> and <STRONG>COLUMNS</STRONG> 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 <STRONG><A HREF="resize.1.html">resize(1)</A></STRONG> program.
+ There was an undocumented 4.4BSD feature that invoking <STRONG>tset</STRONG> via a link
+ named "TSET" (or via any other name beginning with an upper-case let-
+ ter) set the terminal to use upper-case only. This feature has been
+ omitted.
+
+ The <STRONG>-A</STRONG>, <STRONG>-E</STRONG>, <STRONG>-h</STRONG>, <STRONG>-u</STRONG> and <STRONG>-v</STRONG> options were deleted from the <STRONG>tset</STRONG> utility in
+ 4.4BSD. None of them were documented in 4.3BSD and all are of limited
+ utility at best. The <STRONG>-a</STRONG>, <STRONG>-d</STRONG>, and <STRONG>-p</STRONG> options are similarly not docu-
+ mented 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 <STRONG>-m</STRONG> option instead. The <STRONG>-a</STRONG>, <STRONG>-d</STRONG>, and <STRONG>-p</STRONG> 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 <STRONG>tset</STRONG> provided a <STRONG>-n</STRONG> 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 <STRONG>-e</STRONG>, <STRONG>-i</STRONG>, and <STRONG>-k</STRONG> options without
+ arguments, although it is strongly recommended that such usage be fixed
+ to explicitly specify the character.
+
+ As of 4.4BSD, executing <STRONG>tset</STRONG> as <STRONG>reset</STRONG> no longer implies the <STRONG>-Q</STRONG> option.
+ Also, the interaction between the - option and the <EM>terminal</EM> argument in
+ some historic implementations of <STRONG>tset</STRONG> has been removed.
+
+ The <STRONG>-c</STRONG> and <STRONG>-w</STRONG> options are not found in earlier implementations. How-
+ ever, a different window size-change feature was provided in 4.4BSD.
+
+ <STRONG>o</STRONG> In 4.4BSD, <STRONG>tset</STRONG> uses the window size from the termcap description
+ to set the window size if <STRONG>tset</STRONG> is not able to obtain the window
+ size from the operating system.
+
+ <STRONG>o</STRONG> In ncurses, <STRONG>tset</STRONG> obtains the window size using <STRONG>setupterm</STRONG>, which may
+ be from the operating system, the <STRONG>LINES</STRONG> and <STRONG>COLUMNS</STRONG> 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 <STRONG>setupterm</STRONG> would still fail). For that reason,
+ the <STRONG>LINES</STRONG> and <STRONG>COLUMNS</STRONG> environment variables may be useful for working
+ around window-size problems. Those have the drawback that if the win-
+ dow is resized, those variables must be recomputed and reassigned. To
+ do this more easily, use the <STRONG><A HREF="resize.1.html">resize(1)</A></STRONG> program.
</PRE><H2><a name="h2-ENVIRONMENT">ENVIRONMENT</a></H2><PRE>
The <STRONG>tset</STRONG> command uses these environment variables:
SHELL
- tells <STRONG>tset</STRONG> whether to initialize <STRONG>TERM</STRONG> using <STRONG>sh</STRONG> or <STRONG>csh</STRONG>
- syntax.
+ tells <STRONG>tset</STRONG> whether to initialize <STRONG>TERM</STRONG> using <STRONG>sh</STRONG> or <STRONG>csh</STRONG> syntax.
- TERM Denotes your terminal type. Each terminal type is
- distinct, though many are similar.
+ 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 "/",
- <STRONG>tset</STRONG> removes the variable from the environment before
- looking for the terminal description.
+ may denote the location of a termcap database. If it is not an
+ absolute pathname, e.g., begins with a "/", <STRONG>tset</STRONG> removes the vari-
+ able from the environment before looking for the terminal descrip-
+ tion.
</PRE><H2><a name="h2-FILES">FILES</a></H2><PRE>
/etc/ttys
- system port name to terminal type mapping database
- (BSD versions only).
+ system port name to terminal type mapping database (BSD versions
+ only).
/usr/share/terminfo
terminal capability database
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG>csh(1)</STRONG>, <STRONG>sh(1)</STRONG>, <STRONG>stty(1)</STRONG>, <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>, <STRONG>tty(4)</STRONG>,
- <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>, <STRONG>ttys(5)</STRONG>, <STRONG>environ(7)</STRONG>
+ <STRONG>csh(1)</STRONG>, <STRONG>sh(1)</STRONG>, <STRONG>stty(1)</STRONG>, <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>, <STRONG>tty(4)</STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>,
+ <STRONG>ttys(5)</STRONG>, <STRONG>environ(7)</STRONG>
- This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20170128).
+ This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20170506).
- <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>
+ <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>
</PRE>
<div class="nav">
<ul>