]> ncurses.scripts.mit.edu Git - ncurses.git/blobdiff - doc/html/man/tset.1.html
ncurses 6.4 - patch 20240420
[ncurses.git] / doc / html / man / tset.1.html
index 635ddd5335a0a73af26cfeeb3840b64ea90f50ca..3bfe8b6f333cdeb689344c54e4fd6a44934800a5 100644 (file)
+<!--
+  ****************************************************************************
+  * 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            *
+  * "Software"), to deal in the Software without restriction, including      *
+  * without limitation the rights to use, copy, modify, merge, publish,      *
+  * distribute, distribute with modifications, sublicense, and/or sell       *
+  * copies of the Software, and to permit persons to whom the Software is    *
+  * furnished to do so, subject to the following conditions:                 *
+  *                                                                          *
+  * The above copyright notice and this permission notice shall be included  *
+  * in all copies or substantial portions of the Software.                   *
+  *                                                                          *
+  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  *
+  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               *
+  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   *
+  * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   *
+  * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    *
+  * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    *
+  * THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               *
+  *                                                                          *
+  * Except as contained in this notice, the name(s) of the above copyright   *
+  * holders shall not be used in advertising or otherwise to promote the     *
+  * sale, use or other dealings in this Software without prior written       *
+  * authorization.                                                           *
+  ****************************************************************************
+  * @Id: tset.1,v 1.83 2024/04/20 19:09:08 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 2024-04-20 ncurses 6.4 User commands</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
+</HEAD>
 <BODY>
+<H1 class="no-header">tset 1 2024-04-20 ncurses 6.4 User commands</H1>
 <PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
+<STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>                          User commands                         <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>
 
-</PRE>
-<H2>NAME</H2><PRE>
-       <B>tset</B>, <B>reset</B> - terminal initialization
 
 
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
-       tset  [-IQVqrs]  [-]  [-e <I>ch</I>] [-i <I>ch</I>] [-k <I>ch</I>] [-m <I>mapping</I>]
-       [<I>terminal</I>]
-       reset [-IQVqrs] [-] [-e <I>ch</I>] [-i <I>ch</I>] [-k <I>ch</I>]  [-m  <I>mapping</I>]
-       [<I>terminal</I>]
 
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>tset</STRONG>, <STRONG>reset</STRONG> - initialize or reset terminal state
 
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
-       <B>Tset</B>  initializes  terminals.   <B>Tset</B>  first determines the
-       type of terminal that you are using.   This  determination
-       is done as follows, using the first terminal type found.
-
-       1. The <B>terminal</B> argument specified on the command line.
-
-       2. The value of the <B>TERM</B> environmental variable.
-
-       3.  (BSD  systems only.) The terminal type associated with
-       the standard error output device in  the  <I>/etc/ttys</I>  file.
-       (On Linux and System-V-like UNIXes, <I>getty</I> does this job by
-       setting <B>TERM</B>  according  to  the  type  passed  to  it  by
-       <I>/etc/inittab</I>.)
-
-       4. The default terminal type, ``unknown''.
-
-       If  the  terminal  type  was not specified on the command-
-       line, the -m option mappings are then applied  (see  below
-       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 con-
-       firms the type, or, another type can be entered to specify
-       a  new  type.  Once the terminal type has been determined,
-       the terminfo entry for the terminal is retrieved.   If  no
-       terminfo entry is found for the type, the user is prompted
-       for another terminal type.
-
-       Once the terminfo entry is  retrieved,  the  window  size,
-       backspace,  interrupt and line kill characters (among many
-       other things) are set and the terminal and tab initializa-
-       tion  strings  are  sent  to  the  standard  error output.
-       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 <B>reset</B>, <B>tset</B> sets cooked  and  echo  modes,
-       turns  off cbreak and raw modes, turns on newline transla-
-       tion and resets any  unset  special  characters  to  their
-       default  values  before  doing the terminal initialization
-       described above.  This is  useful  after  a  program  dies
-       leaving  a  terminal  in an abnormal state.  Note, you may
-       have to type
-
-           <B>&lt;LF&gt;reset&lt;LF&gt;</B>
-
-       (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.  Also, the  terminal  will  often  not
-       echo the command.
 
-       The options are as follows:
+</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>
+       <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>]
 
-       -q   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.
 
-       -e   Set the erase character to <I>ch</I>.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
 
-       -I   Do  not  send  the  terminal  or  tab  initialization
-            strings to the terminal.
+</PRE><H3><a name="h3-tset----initialization"><EM>tset</EM> -- initialization</a></H3><PRE>
+       This program initializes terminals.
 
-       -Q   Don't display any values for the erase, interrupt and
-            line kill characters.
+       First,  <STRONG>tset</STRONG>  retrieves  the  current  terminal  mode settings for your
+       terminal.  It does this by successively testing
 
-       <B>-V</B>   reports the version of ncurses which was used in this
-            program, and exits.
+       <STRONG>o</STRONG>   the standard error,
 
-       -i   Set the interrupt character to <I>ch</I>.
+       <STRONG>o</STRONG>   standard output,
 
-       -k   Set the line kill character to <I>ch</I>.
+       <STRONG>o</STRONG>   standard input and
 
-       -m   Specify a mapping from a port  type  to  a  terminal.
-            See below for more information.
+       <STRONG>o</STRONG>   ultimately "/dev/tty"
 
-       -r   Print the terminal type to the standard error output.
+       to obtain terminal settings.  Having  retrieved  these  settings,  <STRONG>tset</STRONG>
+       remembers which file descriptor to use when updating settings.
 
-       -s   Print the sequence of shell  commands  to  initialize
-            the environment variable <B>TERM</B> to the standard output.
-            See the section below on setting the environment  for
-            details.
+       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.
 
-       The arguments for the -e, -i, and -k 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''.
+       1. The <STRONG>terminal</STRONG> argument specified on the command line.
 
+       2. The value of the <EM>TERM</EM> environment variable.
 
-</PRE>
-<H2>SETTING THE ENVIRONMENT</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 -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 <B>SHELL</B> environmental  variable
-       ends in ``csh'', the commands are for <B>csh</B>, otherwise, they
-       are for <B>sh</B>.  Note, the <B>csh</B>  commands  set  and  unset  the
-       shell  variable  <B>noglob</B>,  leaving it unset.  The following
-       line in the <B>.login</B> or <B>.profile</B> files will  initialize  the
-       environment correctly:
+       3. (BSD systems only.) The terminal type associated with  the  standard
+       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>.)
 
-           eval `tset -s options ... `
+       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  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,
 
-</PRE>
-<H2>TERMINAL TYPE MAPPING</H2><PRE>
-       When the terminal is not hardwired into the system (or the
-       current system information is incorrect) the terminal type
-       derived  from the <I>/etc/ttys</I> file or the <B>TERM</B> environmental
-       variable is often something generic like <B>network</B>,  <B>dialup</B>,
-       or  <B>unknown</B>.   When <B>tset</B> is used in a startup script it is
-       often desirable to provide information about the  type  of
-       terminal used on such ports.
-
-       The  purpose  of  the -m option is to map from some set of
-       conditions to a terminal type, that is, to tell <B>tset</B>  ``If
-       I'm  on this port at a particular speed, guess that I'm on
-       that kind of terminal''.
-
-       The argument to the -m 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 ``&gt;'', ``&lt;'', ``@'', and ``!''; ``&gt;'' means
-       greater than, ``&lt;'' 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  -m 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:
-       <B>dialup&gt;9600:vt100</B>.  The port type is dialup , the operator
-       is  &gt;, 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 <B>dialup</B>, and the baud rate
-       is greater than 9600 baud, a terminal type of  <B>vt100</B>  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,  <B>-m</B>
-       <B>dialup:vt100</B>  <B>-m</B>  <B>:?xterm</B>  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 -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 <B>csh</B>  users
-       insert  a  backslash character (``\'') before any exclama-
-       tion marks (``!'').
+       <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.,  <EM>LINES</EM>  and
+           <EM>COLUMNS</EM>  variables  specify  this),  use  this to set the operating
+           system's notion of the window size.
 
-</PRE>
-<H2>HISTORY</H2><PRE>
-       The <B>tset</B> command appeared in BSD 3.0.  The <B>ncurses</B>  imple-
-       mentation  was lightly adapted from the 4.4BSD sources for
-       a terminfo environment by Eric S. Raymond &lt;esr@snark.thyr-
-       sus.com&gt;.
+       <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).
 
-</PRE>
-<H2>COMPATIBILITY</H2><PRE>
-       The  <B>tset</B>  utility has been provided for backward-compati-
-       bility with BSD environments (under  most  modern  UNIXes,
-       <B>/etc/inittab</B>  and  <B><A HREF="getty.1.html">getty(1)</A></B> can set <B>TERM</B> appropriately for
-       each dial-up line; this  obviates  what  was  <B>tset</B>'s  most
-       important  use).   This implementation behaves like 4.4BSD
-       tset, with a few exceptions specified here.
-
-       The -S option of BSD tset no longer works;  it  prints  an
-       error message to stderr and dies.  The -s option only sets
-       <B>TERM</B>, not <B>TERMCAP</B>.  Both these  changes  are  because  the
-       <B>TERMCAP</B>  variable  is  no longer supported under terminfo-
-       based <B>ncurses</B>, which makes <B>tset</B> <B>-S</B> useless (we made it die
-       noisily rather than silently induce lossage).
-
-       There  was  an  undocumented  4.4BSD feature that invoking
-       tset 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 -A, -E, -h, -u and -v options were  deleted  from  the
-       <B>tset</B>  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 three
-       options be changed to use the -m option instead.   The  -n
-       option  remains, but has no effect.  The -adnp options are
-       therefore omitted from the usage summary above.
-
-       It is still permissible to specify  the  -e,  -i,  and  -k
-       options  without arguments, although it is strongly recom-
-       mended that such usage be fixed to explicitly specify  the
-       character.
-
-       As  of  4.4BSD,  executing <B>tset</B> as <B>reset</B> no longer implies
-       the -Q option.  Also, the interaction between the - option
-       and the <I>terminal</I> argument in some historic implementations
-       of <B>tset</B> has been removed.
+       <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"><EM>reset</EM> -- reinitialization</a></H3><PRE>
+       When invoked as <STRONG>reset</STRONG>, <STRONG>tset</STRONG> sets the terminal modes to "sane" values:
 
-</PRE>
-<H2>ENVIRONMENT</H2><PRE>
-       The <B>tset</B> command uses the <B>SHELL</B> and <B>TERM</B> environment vari-
-       ables.
+       <STRONG>o</STRONG>   sets cooked and echo modes,
 
+       <STRONG>o</STRONG>   turns off cbreak and raw modes,
 
-</PRE>
-<H2>FILES</H2><PRE>
-       /etc/ttys
-            system  port  name  to terminal type mapping database
-            (BSD versions only).
+       <STRONG>o</STRONG>   turns on newline translation and
 
-       /usr/share/terminfo
-            terminal capability database
+       <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.
 
-</PRE>
-<H2>SEE ALSO</H2><PRE>
-       <B><A HREF="csh.1.html">csh(1)</A></B>, <B><A HREF="sh.1.html">sh(1)</A></B>, <B><A HREF="stty.1.html">stty(1)</A></B>, <B><A HREF="tty.4.html">tty(4)</A></B>, <B><A HREF="termcap.5.html">termcap(5)</A></B>, <B><A HREF="ttys.5.html">ttys(5)</A></B>, envi-
-       <B><A HREF="ron.7.html">ron(7)</A></B>
+       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>&lt;LF&gt;</EM><STRONG>reset</STRONG><EM>&lt;LF&gt;</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.
+
+       <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 <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><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 <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 "&gt;", "&lt;", "@", and  "!";  "&gt;"  means
+       greater  than,  "&lt;" 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&gt;9600:vt100</STRONG>.   The
+       port type is dialup , the operator is &gt;, 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   <EM>csh</EM>   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>-c</STRONG>   Set control characters and modes.
 
+       <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
+            terminal.
 
+       <STRONG>-i</STRONG> <EM>ch</EM>
+            Set the interrupt character to <EM>ch</EM>.
 
+       <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".
 
+       <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&amp;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 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 <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
+           message to the standard error and dies.
 
+       <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
+       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 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.
+       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 <EM>ncurses</EM>, <STRONG>tset</STRONG> obtains the window size using <STRONG>setupterm</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 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.
 
 
+</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 &lt;esr@snark.thyrsus.com&gt;.
+
+
+</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>
+
+
+
+ncurses 6.4                       2024-04-20                           <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>
 </PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<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-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-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>
 </BODY>
 </HTML>