* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: tset.1,v 1.73 2023/10/14 19:24:28 tom Exp @
+ * @Id: tset.1,v 1.75 2023/11/25 14:32:36 tom Exp @
+ * https://minnie.tuhs.org/cgi-bin/utree.pl?file=1BSD/s6/reset.c
+ * https://minnie.tuhs.org/cgi-bin/utree.pl?file=3BSD/usr/src/cmd/\
+ * reset.c
+ * https://minnie.tuhs.org/cgi-bin/utree.pl?file=1BSD/s6/tset.c
+ * https://minnie.tuhs.org/cgi-bin/utree.pl?file=1BSD/man7/ttycap.7
+ * https://minnie.tuhs.org/cgi-bin/utree.pl?file=3BSD/usr/src/cmd/\
+ * tset/tset.c
+ * https://minnie.tuhs.org/cgi-bin/utree.pl?file=2.9BSD/usr/src/ucb/\
+ * tset/tset.c
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>tset 1 2023-10-14 ncurses 6.4 User commands</TITLE>
+<TITLE>tset 1 2023-11-25 ncurses 6.4 User commands</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">tset 1 2023-10-14 ncurses 6.4 User commands</H1>
+<H1 class="no-header">tset 1 2023-11-25 ncurses 6.4 User commands</H1>
<PRE>
<STRONG><A HREF="tset.1.html">tset(1)</A></STRONG> User commands <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>
+ <EM>type</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>
+ <EM>type</EM>]
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
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
+ error output device in the <EM>/etc/ttys</EM> file. (On System-V-like Unices
and systems using that convention, <STRONG>getty(1)</STRONG> does this job by setting
<STRONG>TERM</STRONG> according to the type passed to it by <EM>/etc/inittab</EM>.)
applications.
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
- 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,
<STRONG>o</STRONG> Also, the terminal will often not echo the command.
+</PRE><H3><a name="h3-Setting-the-Environment">Setting the Environment</a></H3><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(1)</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><H3><a name="h3-Terminal-Type-Mapping">Terminal Type Mapping</a></H3><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 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
+ 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 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
+ exclamation marks ("!").
+
+
</PRE><H2><a name="h2-OPTIONS">OPTIONS</a></H2><PRE>
The options are as follows:
<STRONG>-e</STRONG> <EM>ch</EM>
Set the erase character to <EM>ch</EM>.
- <STRONG>-I</STRONG> Do not send the terminal or tab initialization strings to the
+ <STRONG>-I</STRONG> Do not send the terminal or tab initialization strings to the
terminal.
<STRONG>-i</STRONG> <EM>ch</EM>
Set the line kill character to <EM>ch</EM>.
<STRONG>-m</STRONG> <EM>mapping</EM>
- 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.
+ Specify a mapping from a port type to a terminal; see subsection
+ "Terminal Type Mapping".
- <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
+ <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> The terminal type is displayed to the standard output, and the
- terminal is not initialized in any way. The option "-" by itself
+ <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.
+ variable <STRONG>TERM</STRONG> to the standard output; see subsection "Setting the
+ Environment".
<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
+ <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" notation, i.e., control-h may
+ 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(1)</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 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
- 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 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
- exclamation marks ("!").
+</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(1)</STRONG> or <STRONG>csh(1)</STRONG>
+ syntax.
-</PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
- A <STRONG>reset</STRONG> command appeared in 1BSD (March 1978), 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
- program to avoid modifying any user settings. That version of <STRONG>reset</STRONG>
- did not use the termcap database.
+ TERM Denotes your terminal type. Each terminal type is distinct,
+ though many are similar.
- A separate <STRONG>tset</STRONG> 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.
+ 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.
- According to comments in the source code, the <STRONG>tset</STRONG> program was modified
- in September 1980, to use logic copied from the 3BSD "reset" when it
- was invoked as <STRONG>reset</STRONG>. This version appeared in 4.1cBSD, late in 1982.
- Other developers (e.g., Keith Bostic and Jim Bloom) continued to modify
- <STRONG>tset</STRONG> until 4.4BSD was released in 1993.
+</PRE><H2><a name="h2-FILES">FILES</a></H2><PRE>
+ /etc/ttys
+ system port name to terminal type mapping database (BSD versions
+ only).
- 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>.
+ <EM>/usr/share/terminfo</EM>
+ compiled terminal description database directory
-</PRE><H2><a name="h2-COMPATIBILITY">COMPATIBILITY</a></H2><PRE>
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</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-
+ The AT&T <STRONG>tput</STRONG> utility (AIX, HP-UX, 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> obsolete. However, each of those systems still provides
<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
+ environments (under most modern Unices, <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.
To do this more easily, use the <STRONG>resize(1)</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(1)</STRONG> or <STRONG>csh(1)</STRONG>
- 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 "/", <STRONG>tset</STRONG> removes the
- variable from the environment before looking for the terminal
- description.
-
-
-</PRE><H2><a name="h2-FILES">FILES</a></H2><PRE>
- /etc/ttys
- system port name to terminal type mapping database (BSD versions
- only).
-
- <EM>/usr/share/terminfo</EM>
- compiled terminal description database directory
+</PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
+ A <STRONG>reset</STRONG> command written by Kurt Shoens appeared in 1BSD (March 1978).
+ It set the <EM>erase</EM> and <EM>kill</EM> characters to <STRONG>^H</STRONG> (backspace) and <STRONG>@</STRONG>
+ respectively. Mark Horton improved this <STRONG>reset</STRONG> 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 program to avoid modifying any user settings. That version of
+ <STRONG>reset</STRONG> did not use <EM>termcap</EM>.
+
+ Eric Allman wrote a distinct <STRONG>tset</STRONG> command for 1BSD, using a forerunner
+ of <EM>termcap</EM> called <EM>ttycap</EM>. 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 <EM>termcap</EM> and
+ handled the <EM>TERMCAP</EM> variable. Later comments indicate that <STRONG>tset</STRONG> was
+ modified in September 1980 to use logic copied from the 3BSD "reset"
+ program when it was invoked as <STRONG>reset</STRONG>. This version appeared in
+ 4.1cBSD, late in 1982. Other developers such as Keith Bostic and Jim
+ Bloom continued to modify <STRONG>tset</STRONG> until 4.4BSD was released in 1993.
+
+ The <EM>ncurses</EM> implementation was lightly adapted from the 4.4BSD sources
+ to use the <EM>terminfo</EM> API by Eric S. Raymond <esr@snark.thyrsus.com>.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-ncurses 6.4 2023-10-14 <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>
+ncurses 6.4 2023-11-25 <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<ul>
<li><a href="#h3-tset---initialization">tset - initialization</a></li>
<li><a href="#h3-reset---reinitialization">reset - reinitialization</a></li>
+<li><a href="#h3-Setting-the-Environment">Setting the Environment</a></li>
+<li><a href="#h3-Terminal-Type-Mapping">Terminal Type Mapping</a></li>
</ul>
</li>
<li><a href="#h2-OPTIONS">OPTIONS</a></li>
-<li><a href="#h2-SETTING-THE-ENVIRONMENT">SETTING THE ENVIRONMENT</a></li>
-<li><a href="#h2-TERMINAL-TYPE-MAPPING">TERMINAL TYPE MAPPING</a></li>
-<li><a href="#h2-HISTORY">HISTORY</a></li>
-<li><a href="#h2-COMPATIBILITY">COMPATIBILITY</a></li>
<li><a href="#h2-ENVIRONMENT">ENVIRONMENT</a></li>
<li><a href="#h2-FILES">FILES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-HISTORY">HISTORY</a></li>
<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
</ul>
</div>