]> ncurses.scripts.mit.edu Git - ncurses.git/blobdiff - doc/html/man/tset.1.html
ncurses 6.4 - patch 20231202
[ncurses.git] / doc / html / man / tset.1.html
index 3b2a35af11bdec3c1367c8668c7de97393a3a5d2..966068ba1d8cba7ce62d0363a887feb333f2047d 100644 (file)
@@ -1,6 +1,7 @@
-<!-- 
+<!--
   ****************************************************************************
-  * Copyright (c) 1998-2017,2018 Free Software Foundation, Inc.              *
+  * Copyright 2018-2022,2023 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.77 2023/12/02 20:52:24 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</TITLE>
+<TITLE>tset 1 2023-12-02 ncurses 6.4 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 2023-12-02 ncurses 6.4 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>
@@ -59,8 +71,8 @@
 </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 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> 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 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(1)</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.
 
 
        <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>&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
+           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> 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 <EM>TERM</EM> 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 "&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  <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>-c</STRONG>   Set control characters and modes.
 
-       <STRONG>-e</STRONG>   Set the erase character to <EM>ch</EM>.
+       <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 ter-
-            minal.
+       <STRONG>-I</STRONG>   Do  not  send  the  terminal  or tab initialization strings to the
+            terminal.
 
-       <STRONG>-i</STRONG>   Set the interrupt character to <EM>ch</EM>.
+       <STRONG>-i</STRONG> <EM>ch</EM>
+            Set the interrupt character to <EM>ch</EM>.
 
-       <STRONG>-k</STRONG>   Set the line kill character to <EM>ch</EM>.
+       <STRONG>-k</STRONG> <EM>ch</EM>
+            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>-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 charac-
-            ters which differ from the system's default values.
+            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>-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 <EM>TERM</EM> 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.
        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:
-
-           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
-       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 "&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 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&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  <STRONG>csh</STRONG>  users insert a backslash character ("\") before any exclama-
-       tion marks ("!").
-
+</PRE><H2><a name="h2-ENVIRONMENT">ENVIRONMENT</a></H2><PRE>
+       The <STRONG>tset</STRONG> command uses these environment variables:
 
-</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.
+       <EM>SHELL</EM>
+            tells <STRONG>tset</STRONG> whether  to  initialize  <EM>TERM</EM>  using  <STRONG>sh(1)</STRONG>  or  <STRONG>csh(1)</STRONG>
+            syntax.
 
-       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.
+       <EM>TERM</EM> Denotes  your  terminal  type.   Each  terminal  type is distinct,
+            though many are similar.
 
-       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.
+       <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.
 
-       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) continued to modify
-       <STRONG>tset</STRONG> until 4.4BSD was released in 1993.
+</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).
 
-       The  <STRONG>ncurses</STRONG> implementation was lightly adapted from the 4.4BSD sources
-       for a terminfo environment by Eric S. Raymond &lt;esr@snark.thyrsus.com&gt;.
+       <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&amp;T  <STRONG>tput</STRONG> utility (AIX, HPUX, Solaris) incorporated the terminal-
+       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 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
+       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(1)</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 <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  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
+       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  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
+       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
+       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.
+       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.
+       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
+       <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
+           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
+       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.
-
-       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.
+       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  <EM>LINES</EM>  and <EM>COLUMNS</EM> 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>resize(1)</STRONG> program.
 
 
-</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 &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>
 
-       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20190713).
-
 
 
-                                                                       <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>
+ncurses 6.4                       2023-12-02                           <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>