]> ncurses.scripts.mit.edu Git - ncurses.git/blobdiff - doc/html/man/tset.1.html
ncurses 6.0 - patch 20161224
[ncurses.git] / doc / html / man / tset.1.html
index 73192cd5efbf20576c1207bc622f6ecd12e05911..4c5ad2fd46604ee4e56a9888775edbbd98d528e6 100644 (file)
@@ -1,6 +1,6 @@
 <!-- 
   ****************************************************************************
-  * Copyright (c) 1998-2011,2013 Free Software Foundation, Inc.              *
+  * Copyright (c) 1998-2013,2016 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            *
@@ -26,7 +26,7 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: tset.1,v 1.29 2013/12/21 22:15:53 tom Exp @
+  * @Id: tset.1,v 1.43 2016/08/06 23:16:39 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
        <STRONG>tset</STRONG>, <STRONG>reset</STRONG> - terminal initialization
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</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>]
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       <STRONG>Tset</STRONG>  initializes  terminals.   <STRONG>Tset</STRONG>  first determines the
-       type of terminal that you are using.   This  determination
-       is done as follows, using the first terminal type found.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+
+</PRE><H3><a name="h3-tset---initialization">tset - initialization</a></H3><PRE>
+       This program initializes terminals.
+
+       First,  <STRONG>tset</STRONG>  retrieves the current terminal mode settings
+       for your terminal.  It does this by successively testing
+
+       <STRONG>o</STRONG>   the standard error,
+
+       <STRONG>o</STRONG>   standard output,
+
+       <STRONG>o</STRONG>   standard input and
+
+       <STRONG>o</STRONG>   ultimately "/dev/tty"
+
+       to obtain terminal settings.  Having retrieved these  set-
+       tings,  <STRONG>tset</STRONG>  remembers  which file descriptor to use when
+       updating settings.
+
+       Next, <STRONG>tset</STRONG> determines the type of terminal  that  you  are
+       using.   This  determination is done as follows, using the
+       first terminal type found.
 
        1. The <STRONG>terminal</STRONG> argument specified on the command line.
 
        2. The value of the <STRONG>TERM</STRONG> environmental variable.
 
-       3.  (BSD  systems only.) The terminal type associated with
-       the standard error output device in  the  <EM>/etc/ttys</EM>  file.
-       (On  System-V-like  UNIXes  and systems using that conven-
+       3. (BSD systems only.) The terminal type  associated  with
+       the  standard  error  output device in the <EM>/etc/ttys</EM> file.
+       (On System-V-like UNIXes and systems  using  that  conven-
        tion, <EM>getty</EM> does this job by setting <STRONG>TERM</STRONG> according to the
        type passed to it by <EM>/etc/inittab</EM>.)
 
        4. The default terminal type, "unknown".
 
-       If  the  terminal  type  was not specified on the command-
-       line, the <STRONG>-m</STRONG> option mappings are  then  applied  (see  the
+       If the terminal type was not  specified  on  the  command-
+       line,  the  <STRONG>-m</STRONG>  option  mappings are then applied (see the
        section  <STRONG>TERMINAL</STRONG>  <STRONG>TYPE</STRONG>  <STRONG>MAPPING</STRONG>  for  more  information).
-       Then, if the terminal type begins  with  a  question  mark
+       Then,  if  the  terminal  type begins with a question mark
        ("?"), the user is prompted for confirmation of the termi-
-       nal type.   An  empty  response  confirms  the  type,  or,
-       another  type  can be entered to specify a new type.  Once
-       the terminal type has been determined, the terminfo  entry
-       for  the  terminal  is retrieved.  If no terminfo entry is
-       found for the type, the user is prompted for another  ter-
+       nal  type.   An  empty  response  confirms  the  type, or,
+       another type can be entered to specify a new  type.   Once
+       the  terminal type has been determined, the terminfo entry
+       for the terminal is retrieved.  If no  terminfo  entry  is
+       found  for the type, the user is prompted for another ter-
        minal type.
 
-       Once  the  terminfo  entry  is retrieved, the window size,
-       backspace, interrupt and line kill characters (among  many
+       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.
-       Use the <STRONG>-c</STRONG> or <STRONG>-w</STRONG> option to select only the  window  sizing
-       versus  the  other  initialization.   If neither option is
-       given, both are assumed.
+       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.
 
+
+</PRE><H3><a name="h3-reset---reinitialization">reset - reinitialization</a></H3><PRE>
        When invoked as <STRONG>reset</STRONG>, <STRONG>tset</STRONG> sets cooked  and  echo  modes,
        turns  off cbreak and raw modes, turns on newline transla-
        tion and resets any  unset  special  characters  to  their
        leaving  a  terminal  in an abnormal state.  Note, you may
        have to type
 
-           <STRONG>&lt;LF&gt;reset&lt;LF&gt;</STRONG>
+           <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.  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>-q</STRONG>   The  terminal  type is displayed to the standard out-
             put, and the terminal is not initialized in any  way.
-            The option `-' by itself is equivalent but archaic.
+            The option "-" by itself is equivalent but archaic.
 
        <STRONG>-r</STRONG>   Print the terminal type to the standard error output.
 
             <STRONG>setupterm</STRONG> is not able to detect the window size.
 
        The arguments for the <STRONG>-e</STRONG>, <STRONG>-i</STRONG>, and <STRONG>-k</STRONG> options may either be
-       entered  as  actual characters or by using the `hat' nota-
+       entered  as  actual characters or by using the "hat" nota-
        tion, 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><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.
            eval `tset -s options ... `
 
 
-</PRE>
-<H2><a name="h2-TERMINAL-TYPE-MAPPING">TERMINAL TYPE MAPPING</a></H2><PRE>
+</PRE><H2><a name="h2-TERMINAL-TYPE-MAPPING">TERMINAL TYPE MAPPING</a></H2><PRE>
        When the terminal is not hardwired into the system (or the
        current system information is incorrect) the terminal type
        derived  from the <EM>/etc/ttys</EM> file or the <STRONG>TERM</STRONG> environmental
        often desirable to provide information about the  type  of
        terminal used on such ports.
 
-       The  purpose  of  the <STRONG>-m</STRONG> option is to map 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  <STRONG>-m</STRONG> options maps from some set of conditions to a ter-
+       minal type, that is, to tell <STRONG>tset</STRONG> "If I'm on this port  at
+       a  particular speed, guess that I'm on that kind of termi-
+       nal".
 
        The argument to the <STRONG>-m</STRONG> option consists of an optional port
        type, an optional operator, an optional baud rate specifi-
        marks ("!").
 
 
-</PRE>
-<H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
-       The <STRONG>tset</STRONG> command appeared in BSD 3.0.  The <STRONG>ncurses</STRONG>  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;.
+</PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
+       A <STRONG>reset</STRONG> command appeared in 2BSD (1979), written  by  Kurt
+       Shoens.
 
+       A  separate <STRONG>tset</STRONG> command was provided in 2BSD by Eric All-
+       man.  While the oldest published source (from  1979)  pro-
+       vides  both programs, Allman's comments in the 2BSD source
+       code indicate that he began work in October 1977, continu-
+       ing development over the next few years.
 
-</PRE>
-<H2><a name="h2-COMPATIBILITY">COMPATIBILITY</a></H2><PRE>
-       The  <STRONG>tset</STRONG>  utility has been provided for backward-compati-
-       bility with BSD environments (under  most  modern  UNIXes,
-       <STRONG>/etc/inittab</STRONG>  and  <STRONG>getty(1)</STRONG> can set <STRONG>TERM</STRONG> appropriately for
-       each dial-up line; this  obviates  what  was  <STRONG>tset</STRONG>'s  most
-       important  use).   This implementation behaves like 4.4BSD
-       tset, with a few exceptions specified here.
-
-       The <STRONG>-S</STRONG> option of BSD tset no longer works;  it  prints  an
-       error message to stderr and dies.  The <STRONG>-s</STRONG> option only sets
-       <STRONG>TERM</STRONG>, not <STRONG>TERMCAP</STRONG>.  Both of these changes are because  the
-       <STRONG>TERMCAP</STRONG>  variable  is  no longer supported under terminfo-
-       based <STRONG>ncurses</STRONG>, which makes <STRONG>tset</STRONG> <STRONG>-S</STRONG> useless (we made it die
-       noisily rather than silently induce lossage).
+       In  1980,  Eric  Allman modified <STRONG>tset</STRONG> to provide a "reset"
+       feature when the program was invoked as <STRONG>reset</STRONG>.
+
+       The <STRONG>ncurses</STRONG> implementation was lightly  adapted  from  the
+       4.4BSD  sources for a terminfo environment by Eric S. Ray-
+       mond &lt;esr@snark.thyrsus.com&gt;.
+
+
+</PRE><H2><a name="h2-COMPATIBILITY">COMPATIBILITY</a></H2><PRE>
+       Neither IEEE Std 1003.1/The Open Group Base Specifications
+       Issue 7 (POSIX.1-2008) nor X/Open Curses Issue 7 documents
+       <STRONG>tset</STRONG> or <STRONG>reset</STRONG>.
+
+       The AT&amp;T <STRONG>tput</STRONG> utility (AIX,  HPUX,  Solaris)  incorporated
+       the  terminal-mode  manipulation  as well as termcap-based
+       features such as  resetting  tabstops  from  <STRONG>tset</STRONG>  in  BSD
+       (4.1c), presumably with the intention of making <STRONG>tset</STRONG> obso-
+       lete.  However, each of those systems still provides <STRONG>tset</STRONG>.
+       In  fact,  the  commonly-used  <STRONG>reset</STRONG>  utility is always an
+       alias for <STRONG>tset</STRONG>.
+
+       The <STRONG>tset</STRONG> utility provides for backward-compatibility  with
+       BSD  environments  (under most modern UNIXes, <STRONG>/etc/inittab</STRONG>
+       and <STRONG>getty(1)</STRONG> can set <STRONG>TERM</STRONG> appropriately for  each  dial-up
+       line;  this  obviates what was <STRONG>tset</STRONG>'s most important use).
+       This implementation behaves like 4.4BSD <STRONG>tset</STRONG>, with  a  few
+       exceptions specified here.
+
+       A  few  options are different because the <STRONG>TERMCAP</STRONG> variable
+       is no longer supported under terminfo-based <STRONG>ncurses</STRONG>:
+
+       <STRONG>o</STRONG>   The <STRONG>-S</STRONG> option of BSD <STRONG>tset</STRONG> no longer works;  it  prints
+           an error message to the standard error and dies.
+
+       <STRONG>o</STRONG>   The <STRONG>-s</STRONG> option only sets <STRONG>TERM</STRONG>, not <STRONG>TERMCAP</STRONG>.
 
        There  was  an  undocumented  4.4BSD feature that invoking
-       tset via a link named `TSET` (or via any other name begin-
+       <STRONG>tset</STRONG> via a link named "TSET" (or via any other name begin-
        ning  with  an  upper-case letter) set the terminal to use
        upper-case only.  This feature has been omitted.
 
        <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>-n</STRONG>
-       option  remains, but has no effect.  The <STRONG>-adnp</STRONG> options are
-       therefore omitted from the usage summary above.
-
-       It is still permissible to specify  the  <STRONG>-e</STRONG>,  <STRONG>-i</STRONG>,  and  <STRONG>-k</STRONG>
-       options  without arguments, although it is strongly recom-
-       mended that such usage be fixed to explicitly specify  the
+       options be changed to use the <STRONG>-m</STRONG> option instead.  The  <STRONG>-a</STRONG>,
+       <STRONG>-d</STRONG>,  and  <STRONG>-p</STRONG>  options are therefore omitted from the usage
+       summary above.
+
+       Very old systems, e.g., 3BSD, used  a  different  terminal
+       driver  which was replaced in 4BSD in the early 1980s.  To
+       accommodate these older systems, the 4BSD <STRONG>tset</STRONG> provided  a
+       <STRONG>-n</STRONG>  option  to specify that the new terminal driver should
+       be  used.   This  implementation  does  not  provide  that
+       choice.
+
+       It  is  still  permissible  to  specify the <STRONG>-e</STRONG>, <STRONG>-i</STRONG>, and <STRONG>-k</STRONG>
+       options without arguments, although it is strongly  recom-
+       mended  that such usage be fixed to explicitly specify the
        character.
 
-       As  of  4.4BSD,  executing <STRONG>tset</STRONG> as <STRONG>reset</STRONG> no longer implies
+       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.
 
-
-</PRE>
-<H2><a name="h2-ENVIRONMENT">ENVIRONMENT</a></H2><PRE>
+       The <STRONG>-c</STRONG> and <STRONG>-w</STRONG> options are not found in earlier implementa-
+       tions.  However, a different  window  size-change  feature
+       was provided in 4.4BSD.
+
+       <STRONG>o</STRONG>   In  4.4BSD, <STRONG>tset</STRONG> uses the window size from the termcap
+           description to set the window size if <STRONG>tset</STRONG> is not able
+           to obtain the window size from the operating system.
+
+       <STRONG>o</STRONG>   In   ncurses,  <STRONG>tset</STRONG>  obtains  the  window  size  using
+           <STRONG>setupterm</STRONG>, which may be from the operating system, the
+           <STRONG>LINES</STRONG>  and <STRONG>COLUMNS</STRONG> environment variables or the termi-
+           nal description.
+
+       Obtaining the window size from the terminal description is
+       common  to  both  implementations, but considered obsoles-
+       cent.  Its only practical use is for  hardware  terminals.
+       Generally  speaking,  a window size would be unset only if
+       there were some problem obtaining the value from the oper-
+       ating  system  (and <STRONG>setupterm</STRONG> would still fail).  For that
+       reason, the <STRONG>LINES</STRONG> and <STRONG>COLUMNS</STRONG> environment variables may be
+       useful  for  working  around  window-size problems.  Those
+       have the drawback that if the  window  is  resized,  those
+       variables  must  be recomputed and reassigned.  To do this
+       more easily, use the <STRONG><A HREF="resize.1.html">resize(1)</A></STRONG> program.
+
+
+</PRE><H2><a name="h2-ENVIRONMENT">ENVIRONMENT</a></H2><PRE>
        The <STRONG>tset</STRONG> command uses these environment variables:
 
        SHELL
 
        TERMCAP
             may denote the location of a termcap database.  If it
-            is not an absolute pathname, e.g., begins with a `/',
+            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>
+</PRE><H2><a name="h2-FILES">FILES</a></H2><PRE>
        /etc/ttys
             system  port  name  to terminal type mapping database
             (BSD versions only).
             terminal capability database
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+</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.0 (patch 20150808).
+       This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20161224).
 
 
 
 <ul>
 <li><a href="#h2-NAME">NAME</a></li>
 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
-<li><a href="#h2-DESCRIPTION">DESCRIPTION</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>
+</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>