-<!--
+<!--
****************************************************************************
- * Copyright (c) 1998-2017,2018 Free Software Foundation, Inc. *
+ * Copyright 2018-2023,2024 Thomas E. Dickey *
+ * Copyright 1998-2016,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: tset.1,v 1.54 2018/07/28 21:30:27 tom Exp @
+ * @Id: tset.1,v 1.85 2024/04/27 17:57:47 tom Exp @
-->
<!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</TITLE>
+<TITLE>tset 1 2024-04-27 ncurses 6.5 User commands</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+
</HEAD>
<BODY>
-<H1 class="no-header">tset 1</H1>
+<H1 class="no-header">tset 1 2024-04-27 ncurses 6.5 User commands</H1>
<PRE>
-<STRONG><A HREF="tset.1.html">tset(1)</A></STRONG> General Commands Manual <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>
+<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-NAME">NAME</a></H2><PRE>
- <STRONG>tset</STRONG>, <STRONG>reset</STRONG> - terminal initialization
+ <STRONG>tset</STRONG>, <STRONG>reset</STRONG> - initialize or reset terminal state
</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>
-</PRE><H3><a name="h3-tset---initialization">tset - initialization</a></H3><PRE>
+</PRE><H3><a name="h3-tset----initialization"><EM>tset</EM> -- initialization</a></H3><PRE>
This program initializes terminals.
- First, <STRONG>tset</STRONG> retrieves the current terminal mode settings for your ter-
- minal. It does this by successively testing
+ First, <STRONG>tset</STRONG> retrieves the current terminal mode settings for your
+ terminal. It does this by successively testing
<STRONG>o</STRONG> the standard error,
1. The <STRONG>terminal</STRONG> argument specified on the command line.
- 2. The value of the <STRONG>TERM</STRONG> environmental variable.
+ 2. The value of the <EM>TERM</EM> environment 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 convention, <EM>getty</EM> does this job by setting <STRONG>TERM</STRONG>
+ error output device in the <EM>/etc/ttys</EM> file. (On System V hosts and
+ systems using that convention, <STRONG>getty(8)</STRONG> does this job by setting <EM>TERM</EM>
according to the type passed to it by <EM>/etc/inittab</EM>.)
- 4. The default terminal type, "unknown".
+ 4. The default terminal type, "unknown", is not suitable for curses
+ 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 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.
+ If the terminal type was not specified on the command-line, the <STRONG>-m</STRONG>
+ 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> if the "<STRONG>-w</STRONG>" option is enabled, <STRONG>tset</STRONG> may update the terminal's win-
- dow size.
+ <STRONG>o</STRONG> if the "<STRONG>-w</STRONG>" option is enabled, <STRONG>tset</STRONG> may update the terminal's
+ 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.
+ If the window size cannot be obtained from the operating system,
+ but the terminal description (or environment, e.g., <EM>LINES</EM> and
+ <EM>COLUMNS</EM> variables specify this), use this to set the operating
+ system's notion of the window size.
- <STRONG>o</STRONG> if the "<STRONG>-c</STRONG>" option is enabled, the backspace, interrupt and line
+ <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>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> 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> Finally, if the erase, interrupt and line kill characters have
- changed, or are not set to their default values, their values are
+ <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>
+</PRE><H3><a name="h3-reset----reinitialization"><EM>reset</EM> -- reinitialization</a></H3><PRE>
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> 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
+ 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
+ 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
+ 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.
-</PRE><H2><a name="h2-OPTIONS">OPTIONS</a></H2><PRE>
- The options are as follows:
-
- <STRONG>-c</STRONG> Set control characters and modes.
-
- <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 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 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 charac-
- ters 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
- 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>-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.
-
- 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>
+</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</STRONG>. Note, the <STRONG>csh</STRONG> commands set and unset
+ the <EM>SHELL</EM> environment variable ends in "csh", the commands are for
+ <STRONG>csh(1)</STRONG>, otherwise, they are for <STRONG>sh(1)</STRONG>. The <EM>csh</EM> 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 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
+</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 <EM>TERM</EM> environment 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 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.
+ (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
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 ("!").
+ that <EM>csh</EM> users insert a backslash character ("\") before any
+ exclamation 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> 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.
+</PRE><H2><a name="h2-OPTIONS">OPTIONS</a></H2><PRE>
+ The options are as follows:
- 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.
+ <STRONG>-c</STRONG> Set control characters and modes.
- 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.
+ <STRONG>-e</STRONG> <EM>ch</EM>
+ Set the erase character to <EM>ch</EM>.
- 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.
+ <STRONG>-I</STRONG> Do not send the terminal or tab initialization strings to the
+ terminal.
- Other developers (e.g., Keith Bostic and Jim Bloom) continued to modify
- <STRONG>tset</STRONG> until 4.4BSD was released in 1993.
+ <STRONG>-i</STRONG> <EM>ch</EM>
+ Set the interrupt character to <EM>ch</EM>.
- 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>.
+ <STRONG>-k</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 subsection
+ "Terminal Type Mapping".
-</PRE><H2><a name="h2-COMPATIBILITY">COMPATIBILITY</a></H2><PRE>
- Neither IEEE Std 1003.1/The Open Group Base Specifications Issue 7
+ <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
+ 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 <EM>TERM</EM> to the standard output; see subsection "Setting the
+ Environment".
+
+ <STRONG>-V</STRONG> reports the version of <EM>ncurses</EM> 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.
+
+ 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-ENVIRONMENT">ENVIRONMENT</a></H2><PRE>
+ The <STRONG>tset</STRONG> command uses these environment variables:
+
+ <EM>SHELL</EM>
+ tells <STRONG>tset</STRONG> whether to initialize <EM>TERM</EM> using <STRONG>sh(1)</STRONG> or <STRONG>csh(1)</STRONG>
+ syntax.
+
+ <EM>TERM</EM> Denotes your terminal type. Each terminal type is distinct,
+ though many are similar.
+
+ <EM>TERMCAP</EM>
+ 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>
+ <EM>/etc/ttys</EM>
+ 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-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-
- 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 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>. 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.
+ The <STRONG>tset</STRONG> utility provides backward compatibility with BSD environments;
+ under most modern Unices, <EM>/etc/inittab</EM> and <STRONG>getty(8)</STRONG> can set <EM>TERM</EM>
+ appropriately for each dial-up line, obviating what was <STRONG>tset</STRONG>'s most
+ important use. This implementation behaves like 4.4BSD <STRONG>tset</STRONG>, with a
+ few exceptions we shall consider now.
- A few options are different because the <STRONG>TERMCAP</STRONG> variable is no longer
- supported under terminfo-based <STRONG>ncurses</STRONG>:
+ A few options are different because the <EM>TERMCAP</EM> variable is no longer
+ supported under terminfo-based <EM>ncurses</EM>:
- <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 of BSD <STRONG>tset</STRONG> no longer works; it prints an error
+ message to the standard error and dies.
- <STRONG>o</STRONG> The <STRONG>-s</STRONG> option only sets <STRONG>TERM</STRONG>, not <STRONG>TERMCAP</STRONG>.
+ <STRONG>o</STRONG> The <STRONG>-s</STRONG> option only sets <EM>TERM</EM>, not <EM>TERMCAP</EM>.
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
+ 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 <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.
+ 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
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.
+ The <STRONG>-c</STRONG> and <STRONG>-w</STRONG> options are not found in earlier implementations.
+ 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
+ <STRONG>o</STRONG> In <EM>ncurses</EM>, <STRONG>tset</STRONG> obtains the window size using <STRONG><A HREF="curs_terminfo.3x.html">setupterm(3x)</A></STRONG>, which
+ may be from the operating system, the <EM>LINES</EM> and <EM>COLUMNS</EM> 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.
+ 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 <STRONG>setupterm</STRONG> would still fail). The
+ <EM>LINES</EM> and <EM>COLUMNS</EM> 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
+ <STRONG>resize(1)</STRONG> program distributed with <STRONG>xterm(1)</STRONG> assists this activity.
- 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 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).
- /usr/share/terminfo
- terminal capability database
+</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>
- <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>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.1 (patch 20191207).
-
- <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>
+ncurses 6.5 2024-04-27 <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
<li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
<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-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>