]> ncurses.scripts.mit.edu Git - ncurses.git/blobdiff - doc/html/man/tput.1.html
ncurses 6.4 - patch 20231223
[ncurses.git] / doc / html / man / tput.1.html
index ef21a0d3b13f3c6c7512e42efb209366222618ff..c313b5af7d2d7f4be894ba10c061c864b890cc09 100644 (file)
@@ -1,7 +1,7 @@
 <!--
   * t
   ****************************************************************************
 <!--
   * t
   ****************************************************************************
-  * Copyright 2018-2020,2021 Thomas E. Dickey                                *
+  * 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  *
   * Copyright 1998-2016,2017 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: tput.1,v 1.67 2021/06/17 21:11:08 tom Exp @
+  * @Id: tput.1,v 1.96 2023/12/23 20:55:36 tom Exp @
+  * longname was added in October 1989.
 -->
 <!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">
 -->
 <!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>@TPUT@ 1</TITLE>
+<TITLE>tput 1 2023-12-23 ncurses 6.4 User commands</TITLE>
 <link rel="author" href="mailto:bug-ncurses@gnu.org">
 <link rel="author" href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+
 </HEAD>
 <BODY>
 </HEAD>
 <BODY>
-<H1 class="no-header">@TPUT@ 1</H1>
+<H1 class="no-header">tput 1 2023-12-23 ncurses 6.4 User commands</H1>
 <PRE>
 <PRE>
-<B><A HREF="tput.1.html">tput(1)</A></B>                     General Commands Manual                    <B><A HREF="tput.1.html">tput(1)</A></B>
+<STRONG><A HREF="tput.1.html">tput(1)</A></STRONG>                          User commands                         <STRONG><A HREF="tput.1.html">tput(1)</A></STRONG>
 
 
 
 
 </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
 
 
 
 
 </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <B>tput</B>, <B>reset</B> - initialize a terminal or query terminfo database
+       <STRONG>tput</STRONG>, <STRONG>reset</STRONG> - initialize a terminal or query <EM>terminfo</EM> database
 
 
 </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
 
 
 </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
-       <B>tput</B> [<B>-T</B><I>type</I>] <I>capname</I> [<I>parameters</I>]
-       <B>tput</B> [<B>-T</B><I>type</I>] [<B>-x</B>] <B>clear</B>
-       <B>tput</B> [<B>-T</B><I>type</I>] <B>init</B>
-       <B>tput</B> [<B>-T</B><I>type</I>] <B>reset</B>
-       <B>tput</B> [<B>-T</B><I>type</I>] <B>longname</B>
-       <B>tput</B> <B>-S</B>  <B>&lt;&lt;</B>
-       <B>tput</B> <B>-V</B>
+       <STRONG>tput</STRONG> [<STRONG>-T</STRONG> <EM>terminal-type</EM>] <EM>cap-code</EM> [<EM>parameter</EM> ...]
+
+       <STRONG>tput</STRONG> [<STRONG>-T</STRONG> <EM>terminal-type</EM>] [<STRONG>-x</STRONG>] <STRONG>clear</STRONG>
+
+       <STRONG>tput</STRONG> [<STRONG>-T</STRONG> <EM>terminal-type</EM>] <STRONG>init</STRONG>
+
+       <STRONG>tput</STRONG> [<STRONG>-T</STRONG> <EM>terminal-type</EM>] <STRONG>reset</STRONG>
+
+       <STRONG>tput</STRONG> [<STRONG>-T</STRONG> <EM>terminal-type</EM>] <STRONG>longname</STRONG>
+
+       <STRONG>tput</STRONG> <STRONG>-S</STRONG>
+
+       <STRONG>tput</STRONG> <STRONG>-V</STRONG>
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       The  <B>tput</B>  utility  uses  the  <B>terminfo</B>  database to make the values of
-       terminal-dependent capabilities and information available to the  shell
-       (see  <B>sh(1)</B>),  to  initialize or reset the terminal, or return the long
-       name of the requested terminal  type.   The  result  depends  upon  the
-       capability's type:
+       <STRONG>tput</STRONG>  uses  the  <EM>terminfo</EM>  library  and  database to make the values of
+       terminal-specific capabilities and information available to the  shell,
+       to  initialize  or  reset  the terminal, or report the long name of the
+       current (or  specified)  terminal  type.   When  retrieving  capability
+       values, the result depends upon the capability's type.
 
 
-          string
-               <B>tput</B>  writes  the  string  to the standard output.  No trailing
-               newline is supplied.
+       Boolean  <STRONG>tput</STRONG>  sets its exit status to <STRONG>0</STRONG> if the terminal possesses <EM>cap-</EM>
+                <EM>code,</EM> and <STRONG>1</STRONG> if it does not.
 
 
-          integer
-               <B>tput</B> writes the decimal value to the standard  output,  with  a
-               trailing newline.
+       integer  <STRONG>tput</STRONG> writes <EM>cap-code</EM>'s decimal value to  the  standard  output
+                stream if defined (<STRONG>-1</STRONG> if it is not) followed by a newline.
 
 
-          boolean
-               <B>tput</B>  simply sets the exit code (<B>0</B> for TRUE if the terminal has
-               the capability, <B>1</B> for FALSE if it does not), and writes nothing
-               to the standard output.
+       string   <STRONG>tput</STRONG>  writes <EM>cap-code</EM>'s value to the standard output stream if
+                defined, without a trailing newline.
 
 
-       Before  using  a value returned on the standard output, the application
-       should test the exit code (e.g., <B>$?</B>, see <B>sh(1)</B>) to be  sure  it  is  <B>0</B>.
-       (See  the <B>EXIT</B> <B>CODES</B> and <B>DIAGNOSTICS</B> sections.)  For a complete list of
-       capabilities and the <I>capname</I> associated with each, see <B><A HREF="terminfo.5.html">terminfo(5)</A></B>.
+       Before using a value returned on the standard output,  the  application
+       should  test  <STRONG>tput</STRONG>'s exit status (for example, using <STRONG>$?</STRONG> in <STRONG>sh(1)</STRONG>) to be
+       sure it is <STRONG>0</STRONG>; see sections "EXIT STATUS" and "DIAGNOSTICS" below.   For
+       a complete list of <EM>cap-codes,</EM> see <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
 
 
 </PRE><H3><a name="h3-Options">Options</a></H3><PRE>
 
 
 </PRE><H3><a name="h3-Options">Options</a></H3><PRE>
-       <B>-S</B>     allows more than one capability per  invocation  of  <B>tput</B>.   The
-              capabilities  must  be  passed  to  <B>tput</B> from the standard input
-              instead of from  the  command  line  (see  example).   Only  one
-              <I>capname</I>  is allowed per line.  The <B>-S</B> option changes the meaning
-              of the <B>0</B> and <B>1</B> boolean and string exit codes (see the EXIT CODES
-              section).
-
-              Because  some capabilities may use <I>string</I> parameters rather than
-              <I>numbers</I>, <B>tput</B> uses a table and the presence of parameters in its
-              input  to  decide whether to use <B><A HREF="curs_terminfo.3X.html">tparm(3X)</A></B>, and how to interpret
+       <STRONG>-S</STRONG>     allows  more  than  one  capability per invocation of <STRONG>tput</STRONG>.  The
+              capabilities must be passed to  <STRONG>tput</STRONG>  from  the  standard  input
+              instead  of  from the command line (see example).  Only one <EM>cap-</EM>
+              <EM>code</EM> is allowed per line.  The <STRONG>-S</STRONG> option changes the meaning  of
+              the  <STRONG>0</STRONG> and <STRONG>1</STRONG> Boolean and string exit statuses (see section "EXIT
+              STATUS" below).
+
+              Because some capabilities may use <EM>string</EM> parameters rather  than
+              <EM>numbers</EM>, <STRONG>tput</STRONG> uses a table and the presence of parameters in its
+              input to decide whether to use <STRONG><A HREF="curs_terminfo.3x.html">tparm(3x)</A></STRONG>, and how  to  interpret
               the parameters.
 
               the parameters.
 
-       <B>-T</B><I>type</I> indicates  the  <I>type</I>  of  terminal.   Normally  this  option  is
-              unnecessary,  because  the default is taken from the environment
-              variable <B>TERM</B>.  If <B>-T</B> is specified,  then  the  shell  variables
-              <B>LINES</B> and <B>COLUMNS</B> will also be ignored.
+       <STRONG>-T</STRONG><EM>type</EM> indicates  the  <EM>type</EM>  of  terminal.   Normally  this  option  is
+              unnecessary, because the default is taken from  the  environment
+              variable  <EM>TERM</EM>.   If  <STRONG>-T</STRONG>  is specified, then the shell variables
+              <EM>LINES</EM> and <EM>COLUMNS</EM> will also be ignored.
 
 
-       <B>-V</B>     reports  the  version of ncurses which was used in this program,
+       <STRONG>-V</STRONG>     reports the version of <EM>ncurses</EM> which was used in  this  program,
               and exits.
 
               and exits.
 
-       <B>-x</B>     do not attempt to clear the terminal's scrollback  buffer  using
-              the extended "E3" capability.
+       <STRONG>-x</STRONG>     prevents <STRONG>tput</STRONG> from attempting to clear the scrollback buffer.
 
 
 </PRE><H3><a name="h3-Commands">Commands</a></H3><PRE>
 
 
 </PRE><H3><a name="h3-Commands">Commands</a></H3><PRE>
-       A few commands (<B>init</B>, <B>reset</B> and <B>longname</B>) are special; they are defined
-       by the <B>tput</B> program.  The others are the names of <I>capabilities</I> from the
-       terminal  database  (see  <B><A HREF="terminfo.5.html">terminfo(5)</A></B>  for  a list).  Although <B>init</B> and
-       <B>reset</B> resemble capability names,  <B>tput</B>  uses  several  capabilities  to
+       A few commands (<STRONG>init</STRONG>, <STRONG>reset</STRONG> and <STRONG>longname</STRONG>) are special; they are defined
+       by the <STRONG>tput</STRONG> program.  The others are the names of <EM>capabilities</EM> from the
+       terminal  database  (see  <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>  for  a list).  Although <STRONG>init</STRONG> and
+       <STRONG>reset</STRONG> resemble capability names,  <STRONG>tput</STRONG>  uses  several  capabilities  to
        perform these special functions.
 
        perform these special functions.
 
-       <I>capname</I>
+       <EM>cap-code</EM>
               indicates the capability from the terminal database.
 
               If  the  capability  is  a  string  that  takes  parameters, the
               indicates the capability from the terminal database.
 
               If  the  capability  is  a  string  that  takes  parameters, the
               for the string.
 
               Most  parameters  are numbers.  Only a few terminal capabilities
               for the string.
 
               Most  parameters  are numbers.  Only a few terminal capabilities
-              require string parameters; <B>tput</B> uses a table to decide which  to
-              pass  as  strings.   Normally <B>tput</B> uses <B><A HREF="curs_terminfo.3X.html">tparm(3X)</A></B> to perform the
+              require string parameters; <STRONG>tput</STRONG> uses a table to decide which  to
+              pass  as  strings.   Normally <STRONG>tput</STRONG> uses <STRONG><A HREF="curs_terminfo.3x.html">tparm(3x)</A></STRONG> to perform the
               substitution.  If no parameters are given  for  the  capability,
               substitution.  If no parameters are given  for  the  capability,
-              <B>tput</B> writes the string without performing the substitution.
+              <STRONG>tput</STRONG> writes the string without performing the substitution.
 
 
-       <B>init</B>   If  the terminal database is present and an entry for the user's
-              terminal exists (see <B>-T</B><I>type</I>, above), the following will occur:
+       <STRONG>init</STRONG>   If  the terminal database is present and an entry for the user's
+              terminal exists (see <STRONG>-T</STRONG><EM>type</EM>, above), the following will occur:
 
 
-              (1)  first, <B>tput</B> retrieves the current  terminal  mode  settings
+              (1)  first, <STRONG>tput</STRONG> retrieves the current  terminal  mode  settings
                    for your terminal.  It does this by successively testing
 
                    for your terminal.  It does this by successively testing
 
-                   <B>o</B>   the standard error,
+                   <STRONG>o</STRONG>   the standard error,
 
 
-                   <B>o</B>   standard output,
+                   <STRONG>o</STRONG>   standard output,
 
 
-                   <B>o</B>   standard input and
+                   <STRONG>o</STRONG>   standard input and
 
 
-                   <B>o</B>   ultimately "/dev/tty"
+                   <STRONG>o</STRONG>   ultimately "/dev/tty"
 
                    to   obtain  terminal  settings.   Having  retrieved  these
 
                    to   obtain  terminal  settings.   Having  retrieved  these
-                   settings, <B>tput</B> remembers which file descriptor to use  when
+                   settings, <STRONG>tput</STRONG> remembers which file descriptor to use  when
                    updating settings.
 
               (2)  if  the  window  size cannot be obtained from the operating
                    system, but the terminal description (or environment, e.g.,
                    updating settings.
 
               (2)  if  the  window  size cannot be obtained from the operating
                    system, but the terminal description (or environment, e.g.,
-                   <B>LINES</B>  and  <B>COLUMNS</B>  variables  specify  this),  update the
+                   <EM>LINES</EM>  and  <EM>COLUMNS</EM>  variables  specify  this),  update the
                    operating system's notion of the window size.
 
               (3)  the terminal modes will be updated:
 
                    operating system's notion of the window size.
 
               (3)  the terminal modes will be updated:
 
-                   <B>o</B>   any delays (e.g., newline) specified in the entry  will
+                   <STRONG>o</STRONG>   any delays (e.g., newline) specified in the entry  will
                        be set in the tty driver,
 
                        be set in the tty driver,
 
-                   <B>o</B>   tabs  expansion  will  be turned on or off according to
+                   <STRONG>o</STRONG>   tabs  expansion  will  be turned on or off according to
                        the specification in the entry, and
 
                        the specification in the entry, and
 
-                   <B>o</B>   if tabs are not expanded, standard  tabs  will  be  set
+                   <STRONG>o</STRONG>   if tabs are not expanded, standard  tabs  will  be  set
                        (every 8 spaces).
 
               (4)  if  present,  the terminal's initialization strings will be
                        (every 8 spaces).
 
               (4)  if  present,  the terminal's initialization strings will be
-                   output as detailed in the <B><A HREF="terminfo.5.html">terminfo(5)</A></B> section on  <I>Tabs</I>  <I>and</I>
-                   <I>Initialization</I>,
+                   output as detailed in the <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> section on  <EM>Tabs</EM>  <EM>and</EM>
+                   <EM>Initialization</EM>,
 
               (5)  output is flushed.
 
               If  an  entry does not contain the information needed for any of
               these activities, that activity will silently be skipped.
 
 
               (5)  output is flushed.
 
               If  an  entry does not contain the information needed for any of
               these activities, that activity will silently be skipped.
 
-       <B>reset</B>  This is similar to <B>init</B>, with two differences:
+       <STRONG>reset</STRONG>  This is similar to <STRONG>init</STRONG>, with two differences:
 
               (1)  before any other initialization, the terminal modes will be
                    reset to a "sane" state:
 
 
               (1)  before any other initialization, the terminal modes will be
                    reset to a "sane" state:
 
-                   <B>o</B>   set cooked and echo modes,
+                   <STRONG>o</STRONG>   set cooked and echo modes,
 
 
-                   <B>o</B>   turn off cbreak and raw modes,
+                   <STRONG>o</STRONG>   turn off cbreak and raw modes,
 
 
-                   <B>o</B>   turn on newline translation and
+                   <STRONG>o</STRONG>   turn on newline translation and
 
 
-                   <B>o</B>   reset  any  unset  special  characters to their default
+                   <STRONG>o</STRONG>   reset  any  unset  special  characters to their default
                        values
 
                        values
 
-              (2)  Instead  of  putting  out   <I>initialization</I>   strings,   the
-                   terminal's  <I>reset</I>  strings  will be output if present (<B>rs1</B>,
-                   <B>rs2</B>, <B>rs3</B>, <B>rf</B>).  If the <I>reset</I> strings are not  present,  but
-                   <I>initialization</I> strings are, the <I>initialization</I> strings will
+              (2)  Instead  of  putting  out   <EM>initialization</EM>   strings,   the
+                   terminal's  <EM>reset</EM>  strings  will be output if present (<STRONG>rs1</STRONG>,
+                   <STRONG>rs2</STRONG>, <STRONG>rs3</STRONG>, <STRONG>rf</STRONG>).  If the <EM>reset</EM> strings are not  present,  but
+                   <EM>initialization</EM> strings are, the <EM>initialization</EM> strings will
                    be output.
 
                    be output.
 
-              Otherwise, <B>reset</B> acts identically to <B>init</B>.
+              Otherwise, <STRONG>reset</STRONG> acts identically to <STRONG>init</STRONG>.
 
 
-       <B>longname</B>
+       <STRONG>longname</STRONG>
               If the terminal database is present and an entry for the  user's
               If the terminal database is present and an entry for the  user's
-              terminal  exists  (see  <B>-T</B><I>type</I> above), then the long name of the
-              terminal will be put out.  The long name is the last name in the
-              first  line  of  the  terminal's  description  in  the  <B>terminfo</B>
-              database [see <B><A HREF="term.5.html">term(5)</A></B>].
+              terminal exists (see <STRONG>-T</STRONG> <EM>type</EM> above), <STRONG>tput</STRONG> reports the terminal's
+              description (or "long name") to the standard output,  without  a
+              trailing newline.  See <STRONG><A HREF="term.5.html">term(5)</A></STRONG>.
 
 
 </PRE><H3><a name="h3-Aliases">Aliases</a></H3><PRE>
 
 
 </PRE><H3><a name="h3-Aliases">Aliases</a></H3><PRE>
-       <B>tput</B> handles the <B>clear</B>, <B>init</B> and <B>reset</B> commands  specially:  it  allows
+       <STRONG>tput</STRONG>  handles  the  <STRONG>clear</STRONG>, <STRONG>init</STRONG> and <STRONG>reset</STRONG> commands specially: it allows
        for the possibility that it is invoked by a link with those names.
 
        for the possibility that it is invoked by a link with those names.
 
-       If  <B>tput</B>  is invoked by a link named <B>reset</B>, this has the same effect as
-       <B>tput</B> <B>reset</B>.  The  <B><A HREF="tset.1.html">tset(1)</A></B>  utility  also  treats  a  link  named  <B>reset</B>
+       If <STRONG>tput</STRONG> is invoked by a link named <STRONG>reset</STRONG>, this has the same  effect  as
+       <STRONG>tput</STRONG>  <STRONG>reset</STRONG>.   The  <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>  utility  also  treats  a  link named <STRONG>reset</STRONG>
        specially.
 
        specially.
 
-       Before ncurses 6.1, the two utilities were different from each other:
+       Before <EM>ncurses</EM> 6.1, the two utilities were different from each other:
 
 
-       <B>o</B>   <B>tset</B>  utility  reset the terminal modes and special characters (not
-           done with <B>tput</B>).
+       <STRONG>o</STRONG>   <STRONG>tset</STRONG> utility reset the terminal modes and special  characters  (not
+           done with <STRONG>tput</STRONG>).
 
 
-       <B>o</B>   On the other hand, <B>tset</B>'s repertoire of terminal  capabilities  for
-           resetting  the terminal was more limited, i.e., only <B>reset_1string</B>,
-           <B>reset_2string</B> and <B>reset_file</B>  in  contrast  to  the  tab-stops  and
+       <STRONG>o</STRONG>   On  the  other hand, <STRONG>tset</STRONG>'s repertoire of terminal capabilities for
+           resetting the terminal was more limited, i.e., only  <STRONG>reset_1string</STRONG>,
+           <STRONG>reset_2string</STRONG>  and  <STRONG>reset_file</STRONG>  in  contrast  to  the tab-stops and
            margins which are set by this utility.
 
            margins which are set by this utility.
 
-       <B>o</B>   The  <B>reset</B>  program  is  usually an alias for <B>tset</B>, because of this
+       <STRONG>o</STRONG>   The <STRONG>reset</STRONG> program is usually an alias for  <STRONG>tset</STRONG>,  because  of  this
            difference with resetting terminal modes and special characters.
 
            difference with resetting terminal modes and special characters.
 
-       With the changes made for ncurses 6.1, the <I>reset</I>  feature  of  the  two
+       With  the  changes  made  for <EM>ncurses</EM> 6.1, the <EM>reset</EM> feature of the two
        programs is (mostly) the same.  A few differences remain:
 
        programs is (mostly) the same.  A few differences remain:
 
-       <B>o</B>   The  <B>tset</B>  program  waits  one  second  when  resetting, in case it
+       <STRONG>o</STRONG>   The <STRONG>tset</STRONG> program waits  one  second  when  resetting,  in  case  it
            happens to be a hardware terminal.
 
            happens to be a hardware terminal.
 
-       <B>o</B>   The two programs  write  the  terminal  initialization  strings  to
-           different  streams  (i.e.,  the  standard  error  for  <B>tset</B> and the
-           standard output for <B>tput</B>).
+       <STRONG>o</STRONG>   The  two  programs  write  the  terminal  initialization strings to
+           different streams (i.e.,  the  standard  error  for  <STRONG>tset</STRONG>  and  the
+           standard output for <STRONG>tput</STRONG>).
 
 
-           <B>Note:</B>  although  these  programs  write   to   different   streams,
-           redirecting  their output to a file will capture only part of their
-           actions.  The changes to the terminal modes  are  not  affected  by
+           <STRONG>Note:</STRONG>   although   these   programs  write  to  different  streams,
+           redirecting their output to a file will capture only part of  their
+           actions.   The  changes  to  the terminal modes are not affected by
            redirecting the output.
 
            redirecting the output.
 
-       If  <B>tput</B>  is  invoked by a link named <B>init</B>, this has the same effect as
-       <B>tput</B> <B>init</B>.  Again, you are less likely to use that link because another
-       program named <B>init</B> has a more well-established use.
+       If <STRONG>tput</STRONG> is invoked by a link named <STRONG>init</STRONG>, this has the  same  effect  as
+       <STRONG>tput</STRONG> <STRONG>init</STRONG>.  Again, you are less likely to use that link because another
+       program named <STRONG>init</STRONG> has a more well-established use.
 
 
 </PRE><H3><a name="h3-Terminal-Size">Terminal Size</a></H3><PRE>
 
 
 </PRE><H3><a name="h3-Terminal-Size">Terminal Size</a></H3><PRE>
-       Besides  the  special  commands  (e.g.,  <B>clear</B>),  tput  treats  certain
-       terminfo  capabilities  specially:  <B>lines</B>   and   <B>cols</B>.    tput   calls
-       <B><A HREF="curs_terminfo.3X.html">setupterm(3X)</A></B> to obtain the terminal size:
+       Besides  the  special  commands  (e.g.,  <STRONG>clear</STRONG>),  tput  treats  certain
+       terminfo   capabilities   specially:   <STRONG>lines</STRONG>   and  <STRONG>cols</STRONG>.   tput  calls
+       <STRONG><A HREF="curs_terminfo.3x.html">setupterm(3x)</A></STRONG> to obtain the terminal size:
 
 
-       <B>o</B>   first, it gets the size from the terminal database (which generally
-           is not provided for terminal emulators which do not  have  a  fixed
+       <STRONG>o</STRONG>   first, it gets the size from the terminal database (which generally
+           is  not  provided  for terminal emulators which do not have a fixed
            window size)
 
            window size)
 
-       <B>o</B>   then  it  asks  the operating system for the terminal's size (which
+       <STRONG>o</STRONG>   then it asks the operating system for the  terminal's  size  (which
            generally works, unless connecting via a serial line which does not
            generally works, unless connecting via a serial line which does not
-           support <I>NAWS</I>: negotiations about window size).
+           support <EM>NAWS</EM>: negotiations about window size).
 
 
-       <B>o</B>   finally,  it  inspects  the environment variables <B>LINES</B> and <B>COLUMNS</B>
+       <STRONG>o</STRONG>   finally, it inspects the environment variables  <EM>LINES</EM>  and  <EM>COLUMNS</EM>
            which may override the terminal size.
 
            which may override the terminal size.
 
-       If the <B>-T</B> option is given tput ignores  the  environment  variables  by
-       calling   <B>use_tioctl(TRUE)</B>,  relying  upon  the  operating  system  (or
+       If  the  <STRONG>-T</STRONG>  option  is given tput ignores the environment variables by
+       calling  <STRONG>use_tioctl(TRUE)</STRONG>,  relying  upon  the  operating  system   (or
        finally, the terminal database).
 
 
        finally, the terminal database).
 
 
-</PRE><H2><a name="h2-EXAMPLES">EXAMPLES</a></H2><PRE>
-       <B>tput</B> <B>init</B>
-            Initialize the terminal according to the type of terminal  in  the
-            environmental  variable  <B>TERM</B>.  This command should be included in
-            everyone's .profile after the environmental variable <B>TERM</B> has been
-            exported, as illustrated on the <B>profile(5)</B> manual page.
-
-       <B>tput</B> <B>-T5620</B> <B>reset</B>
-            Reset  an  AT&amp;T  5620 terminal, overriding the type of terminal in
-            the environmental variable <B>TERM</B>.
-
-       <B>tput</B> <B>cup</B> <B>0</B> <B>0</B>
-            Send the sequence to move the cursor to row <B>0</B>, column <B>0</B> (the upper
-            left  corner  of  the  screen,  usually known as the "home" cursor
-            position).
-
-       <B>tput</B> <B>clear</B>
-            Echo the clear-screen sequence for the current terminal.
-
-       <B>tput</B> <B>cols</B>
-            Print the number of columns for the current terminal.
-
-       <B>tput</B> <B>-T450</B> <B>cols</B>
-            Print the number of columns for the 450 terminal.
-
-       <B>bold=`tput</B> <B>smso`</B> <B>offbold=`tput</B> <B>rmso`</B>
-            Set the shell variables <B>bold</B>, to begin  stand-out  mode  sequence,
-            and  <B>offbold</B>,  to  end  standout  mode  sequence,  for the current
-            terminal.  This might be followed by a prompt: <B>echo</B> <B>"${bold}Please</B>
-            <B>type</B> <B>in</B> <B>your</B> <B>name:</B> <B>${offbold}\c"</B>
-
-       <B>tput</B> <B>hc</B>
-            Set  exit  code to indicate if the current terminal is a hard copy
-            terminal.
-
-       <B>tput</B> <B>cup</B> <B>23</B> <B>4</B>
-            Send the sequence to move the cursor to row 23, column 4.
-
-       <B>tput</B> <B>cup</B>
-            Send the terminfo string for cursor-movement, with  no  parameters
-            substituted.
-
-       <B>tput</B> <B>longname</B>
-            Print  the  long  name  from the <B>terminfo</B> database for the type of
-            terminal specified in the environmental variable <B>TERM</B>.
-
-            <B>tput</B> <B>-S</B> <B>&lt;&lt;!</B>
-            <B>&gt;</B> <B>clear</B>
-            <B>&gt;</B> <B>cup</B> <B>10</B> <B>10</B>
-            <B>&gt;</B> <B>bold</B>
-            <B>&gt;</B> <B>!</B>
-
-            This example shows <B>tput</B> processing  several  capabilities  in  one
-            invocation.   It  clears  the screen, moves the cursor to position
-            10, 10 and turns  on  bold  (extra  bright)  mode.   The  list  is
-            terminated by an exclamation mark (<B>!</B>) on a line by itself.
-
-
-</PRE><H2><a name="h2-FILES">FILES</a></H2><PRE>
-       <B>/usr/share/terminfo</B>
-              compiled terminal description database
-
-       <B>/usr/share/tabset/*</B>
-              tab  settings  for some terminals, in a format appropriate to be
-              output to the terminal (escape sequences that  set  margins  and
-              tabs);  for  more  information, see the <I>Tabs</I> <I>and</I> <I>Initialization</I>,
-              section of <B><A HREF="terminfo.5.html">terminfo(5)</A></B>
-
-
-</PRE><H2><a name="h2-EXIT-CODES">EXIT CODES</a></H2><PRE>
-       If the <B>-S</B> option is used, <B>tput</B> checks for errors from each line, and if
-       any  errors  are  found, will set the exit code to 4 plus the number of
-       lines with errors.  If no errors are found, the exit  code  is  <B>0</B>.   No
-       indication  of which line failed can be given so exit code <B>1</B> will never
-       appear.  Exit codes <B>2</B>, <B>3</B>, and <B>4</B> retain their usual interpretation.   If
-       the  <B>-S</B>  option  is  not  used,  the  exit  code depends on the type of
-       <I>capname</I>:
+</PRE><H2><a name="h2-EXIT-STATUS">EXIT STATUS</a></H2><PRE>
+       If the <STRONG>-S</STRONG> option is used, <STRONG>tput</STRONG> checks for errors from each line, and if
+       any errors are found, will set the exit status to 4 plus the number  of
+       lines  with  errors.  If no errors are found, the exit status is <STRONG>0</STRONG>.  No
+       indication of which line failed can be given  so  exit  status  <STRONG>1</STRONG>  will
+       never   appear.    Exit  statuses  <STRONG>2</STRONG>,  <STRONG>3</STRONG>,  and  <STRONG>4</STRONG>  retain  their  usual
+       interpretation.  If the <STRONG>-S</STRONG> option is not used, the exit status  depends
+       on the type of <EM>cap-code</EM>:
 
 
-          <I>boolean</I>
-                 a value of <B>0</B> is set for TRUE and <B>1</B> for FALSE.
+          <EM>Boolean</EM>
+                 a value of <STRONG>0</STRONG> is set for TRUE and <STRONG>1</STRONG> for FALSE.
 
 
-          <I>string</I> a value of <B>0</B> is set  if  the  <I>capname</I>  is  defined  for  this
-                 terminal  <I>type</I>  (the value of <I>capname</I> is returned on standard
-                 output); a value of <B>1</B> is set if <I>capname</I> is  not  defined  for
-                 this terminal <I>type</I> (nothing is written to standard output).
+          <EM>string</EM> a  value  of  <STRONG>0</STRONG>  is  set  if the <EM>cap-code</EM> is defined for this
+                 terminal <EM>type</EM> (the value of <EM>cap-code</EM> is returned on  standard
+                 output);  a  value of <STRONG>1</STRONG> is set if <EM>cap-code</EM> is not defined for
+                 this terminal <EM>type</EM> (nothing is written to standard output).
 
 
-          <I>integer</I>
-                 a value of <B>0</B> is always set, whether or not <I>capname</I> is defined
-                 for this terminal <I>type</I>.  To determine if <I>capname</I>  is  defined
-                 for  this terminal <I>type</I>, the user must test the value written
-                 to standard output.  A value of <B>-1</B> means that <I>capname</I> is  not
-                 defined for this terminal <I>type</I>.
+          <EM>integer</EM>
+                 a value of <STRONG>0</STRONG> is  always  set,  whether  or  not  <EM>cap-code</EM>  is
+                 defined  for this terminal <EM>type</EM>.  To determine if <EM>cap-code</EM> is
+                 defined for this terminal <EM>type</EM>, the user must test the  value
+                 written  to  standard  output.  A value of <STRONG>-1</STRONG> means that <EM>cap-</EM>
+                 <EM>code</EM> is not defined for this terminal <EM>type</EM>.
 
 
-          <I>other</I>  <B>reset</B>  or  <B>init</B>  may fail to find their respective files.  In
-                 that case, the exit code is set to 4 + <B>errno</B>.
+          <EM>other</EM>  <STRONG>reset</STRONG> or <STRONG>init</STRONG> may fail to find their  respective  files.   In
+                 that case, the exit status is set to 4 + <STRONG>errno</STRONG>.
 
 
-       Any other exit code indicates an error; see the DIAGNOSTICS section.
+       Any  other  exit  status  indicates an error; see section "DIAGNOSTICS"
+       below.
 
 
 </PRE><H2><a name="h2-DIAGNOSTICS">DIAGNOSTICS</a></H2><PRE>
 
 
 </PRE><H2><a name="h2-DIAGNOSTICS">DIAGNOSTICS</a></H2><PRE>
-       <B>tput</B> prints the following error messages  and  sets  the  corresponding
-       exit codes.
-
-       exit code   error message
-       ---------------------------------------------------------------------
-       <B>0</B>           (<I>capname</I>  is a numeric variable that is not specified in
-                   the <B><A HREF="terminfo.5.html">terminfo(5)</A></B> database for this  terminal  type,  e.g.
-                   <B>tput</B> <B>-T450</B> <B>lines</B> and <B>tput</B> <B>-T2621</B> <B>xmc</B>)
-       <B>1</B>           no error message is printed, see the <B>EXIT</B> <B>CODES</B> section.
-       <B>2</B>           usage error
-       <B>3</B>           unknown terminal <I>type</I> or no <B>terminfo</B> database
-       <B>4</B>           unknown <B>terminfo</B> capability <I>capname</I>
-       <B>&gt;4</B>          error occurred in -S
-       ---------------------------------------------------------------------
-
-
-</PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
-       The  <B>tput</B>  command  was begun by Bill Joy in 1980.  The initial version
-       only cleared the screen.
+       <STRONG>tput</STRONG> prints the following error messages  and  sets  the  corresponding
+       exit statuses.
+
+       exit status   error message
+       ------------------------------------------------------------------------
+       <STRONG>0</STRONG>             (<EM>cap-code</EM>  is a numeric variable that is not specified in
+                     the <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> database for  this  terminal  type,  e.g.
+                     <STRONG>tput</STRONG> <STRONG>-T450</STRONG> <STRONG>lines</STRONG> and <STRONG>tput</STRONG> <STRONG>-Thp2621</STRONG> <STRONG>xmc</STRONG>)
+       <STRONG>1</STRONG>             no error message is printed, see the <STRONG>EXIT</STRONG> <STRONG>STATUS</STRONG> section.
+       <STRONG>2</STRONG>             usage error
+       <STRONG>3</STRONG>             unknown terminal <EM>type</EM> or no <EM>terminfo</EM> database
+       <STRONG>4</STRONG>             unknown <EM>terminfo</EM> capability <EM>cap-code</EM>
+       <STRONG>&gt;4</STRONG>            error occurred in -S
+       ------------------------------------------------------------------------
 
 
-       AT&amp;T System V provided a different <B>tput</B> command, whose <B>init</B>  and  <B>reset</B>
-       subcommands  (more  than  half  the program) were incorporated from the
-       <B>reset</B> feature of BSD <B>tset</B> written by Eric Allman.
 
 
-       Keith Bostic  replaced  the  BSD  <B>tput</B>  command  in  1989  with  a  new
-       implementation  based on the AT&amp;T System V program <B>tput</B>.  Like the AT&amp;T
-       program, Bostic's version accepted some parameters named  for  <I>terminfo</I>
-       <I>capabilities</I>  (<B>clear</B>,  <B>init</B>,  <B>longname</B> and <B>reset</B>).  However (because he
-       had only termcap  available),  it  accepted  <I>termcap</I>  <I>names</I>  for  other
-       capabilities.   Also, Bostic's BSD <B>tput</B> did not modify the terminal I/O
-       modes as the earlier BSD <B>tset</B> had done.
+</PRE><H2><a name="h2-FILES">FILES</a></H2><PRE>
+       <EM>/usr/share/tabset</EM>
+              tab stop initialization database
 
 
-       At the same time, Bostic added a shell script named "clear", which used
-       <B>tput</B> to clear the screen.
-
-       Both   of   these   appeared  in  4.4BSD,  becoming  the  "modern"  BSD
-       implementation of <B>tput</B>.
-
-       This implementation of <B>tput</B> began from a different source than AT&amp;T  or
-       BSD:  Ross  Ridge's  <I>mytinfo</I> package, published on <I>comp.sources.unix</I> in
-       December 1992.  Ridge's program made  more  sophisticated  use  of  the
-       terminal  capabilities  than  the  BSD program.  Eric Raymond used that
-       <B>tput</B> program (and other parts of <I>mytinfo</I>)  in  ncurses  in  June  1995.
-       Using  the  portions  dealing with terminal capabilities almost without
-       change,  Raymond  made  improvements  to  the  way   the   command-line
-       parameters were handled.
+       <EM>/usr/share/terminfo</EM>
+              compiled terminal description database
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       This  implementation  of  <B>tput</B>  differs from AT&amp;T <B>tput</B> in two important
+       This  implementation  of  <STRONG>tput</STRONG>  differs from AT&amp;T <STRONG>tput</STRONG> in two important
        areas:
 
        areas:
 
-       <B>o</B>   <B>tput</B> <I>capname</I> writes to the standard output.  That  need  not  be  a
+       <STRONG>o</STRONG>   <STRONG>tput</STRONG> <EM>cap-code</EM> writes to the standard output.  That need  not  be  a
            regular   terminal.   However,  the  subcommands  which  manipulate
            terminal modes may not use the standard output.
 
            regular   terminal.   However,  the  subcommands  which  manipulate
            terminal modes may not use the standard output.
 
-           The AT&amp;T implementation's <B>init</B>  and  <B>reset</B>  commands  use  the  BSD
-           (4.1c)   <B>tset</B>   source,   which  manipulates  terminal  modes.   It
+           The AT&amp;T implementation's <STRONG>init</STRONG>  and  <STRONG>reset</STRONG>  commands  use  the  BSD
+           (4.1c)   <STRONG>tset</STRONG>   source,   which  manipulates  terminal  modes.   It
            successively tries standard output, standard error, standard  input
            before falling back to "/dev/tty" and finally just assumes a 1200Bd
            terminal.  When updating terminal modes, it ignores errors.
 
            successively tries standard output, standard error, standard  input
            before falling back to "/dev/tty" and finally just assumes a 1200Bd
            terminal.  When updating terminal modes, it ignores errors.
 
-           Until changes made after ncurses 6.0, <B>tput</B> did not modify  terminal
-           modes.  <B>tput</B> now uses a similar scheme, using functions shared with
-           <B>tset</B> (and ultimately based on the 4.4BSD <B>tset</B>).  If it is not  able
-           to open a terminal, e.g., when running in <B>cron</B>, <B>tput</B> will return an
-           error.
+           Until changes made after <EM>ncurses</EM> 6.0, <STRONG>tput</STRONG> did not modify  terminal
+           modes.  <STRONG>tput</STRONG> now uses a similar scheme, using functions shared with
+           <STRONG>tset</STRONG> (and ultimately based on the 4.4BSD <STRONG>tset</STRONG>).  If it is not  able
+           to open a terminal, e.g., when running in <STRONG>cron(1)</STRONG>, <STRONG>tput</STRONG> will return
+           an error.
 
 
-       <B>o</B>   AT&amp;T <B>tput</B> guesses the type of its <I>capname</I> operands by seeing if all
-           of the characters are numeric, or not.
+       <STRONG>o</STRONG>   AT&amp;T <STRONG>tput</STRONG> guesses the type of its <EM>cap-code</EM> operands  by  seeing  if
+           all of the characters are numeric, or not.
 
 
-           Most implementations which provide support for <I>capname</I> operands use
-           the <I>tparm</I> function to  expand  parameters  in  it.   That  function
-           expects  a mixture of numeric and string parameters, requiring <B>tput</B>
+           Most  implementations  which  provide support for <EM>cap-code</EM> operands
+           use the <STRONG>tparm</STRONG> function to expand parameters in it.   That  function
+           expects  a mixture of numeric and string parameters, requiring <STRONG>tput</STRONG>
            to know which type to use.
 
            This implementation uses a table to determine the  parameter  types
            to know which type to use.
 
            This implementation uses a table to determine the  parameter  types
-           for the standard <I>capname</I> operands, and an internal library function
-           to analyze nonstandard <I>capname</I> operands.
-
-       This  implementation  (unlike  others)  can  accept  both  <I>termcap</I>  and
-       <I>terminfo</I>  names for the <I>capname</I> feature, if <I>termcap</I> support is compiled
-       in.  However, the  predefined  <I>termcap</I>  and  <I>terminfo</I>  names  have  two
-       ambiguities in this case (and the <I>terminfo</I> name is assumed):
-
-       <B>o</B>   The  <I>termcap</I>  name  <B>dl</B> corresponds to the <I>terminfo</I> name <B>dl1</B> (delete
+           for  the  standard  <EM>cap-code</EM>  operands,  and  an  internal  library
+           function to analyze nonstandard <EM>cap-code</EM> operands.
+
+           Besides providing more reliable operation than  AT&amp;T's  utility,  a
+           portability  problem  is  introduced  by  this analysis: An OpenBSD
+           developer adapted the internal library  function  from  <EM>ncurses</EM>  to
+           port  NetBSD's  termcap-based  <STRONG>tput</STRONG>  to  terminfo.   That  had been
+           modified to  interpret  multiple  commands  on  a  line.   Portable
+           applications should not rely upon this feature; <EM>ncurses</EM> provides it
+           to support applications written specifically for OpenBSD.
+
+       This  implementation  (unlike  others)  can  accept  both  <EM>termcap</EM>  and
+       <EM>terminfo</EM> names for the <EM>cap-code</EM> feature, if <EM>termcap</EM> support is compiled
+       in.  However, the  predefined  <EM>termcap</EM>  and  <EM>terminfo</EM>  names  have  two
+       ambiguities in this case (and the <EM>terminfo</EM> name is assumed):
+
+       <STRONG>o</STRONG>   The  <EM>termcap</EM>  name  <STRONG>dl</STRONG> corresponds to the <EM>terminfo</EM> name <STRONG>dl1</STRONG> (delete
            one line).
            one line).
-           The <I>terminfo</I> name <B>dl</B> corresponds to the <I>termcap</I> name <B>DL</B>  (delete  a
+           The <EM>terminfo</EM> name <STRONG>dl</STRONG> corresponds to the <EM>termcap</EM> name <STRONG>DL</STRONG>  (delete  a
            given number of lines).
 
            given number of lines).
 
-       <B>o</B>   The  <I>termcap</I>  name  <B>ed</B>  corresponds  to the <I>terminfo</I> name <B>rmdc</B> (end
+       <STRONG>o</STRONG>   The  <EM>termcap</EM>  name  <STRONG>ed</STRONG>  corresponds  to the <EM>terminfo</EM> name <STRONG>rmdc</STRONG> (end
            delete mode).
            delete mode).
-           The <I>terminfo</I> name <B>ed</B> corresponds to the <I>termcap</I> name <B>cd</B>  (clear  to
+           The <EM>terminfo</EM> name <STRONG>ed</STRONG> corresponds to the <EM>termcap</EM> name <STRONG>cd</STRONG>  (clear  to
            end of screen).
 
            end of screen).
 
-       The  <B>longname</B>  and  <B>-S</B> options, and the parameter-substitution features
-       used in the <B>cup</B> example,  were  not  supported  in  BSD  curses  before
-       4.3reno (1989) or in AT&amp;T/USL curses before SVr4 (1988).
+       The  <STRONG>longname</STRONG>  and  <STRONG>-S</STRONG> options, and the parameter-substitution features
+       used in the <STRONG>cup</STRONG> example, were not supported in AT&amp;T/USL  <EM>curses</EM>  before
+       SVr4 (1989).  Later, 4.3BSD-Reno (1990) added support for <STRONG>longname</STRONG>, and
+       NetBSD (1994) added support for the parameter-substitution features.
 
 
-       IEEE   Std   1003.1/The   Open   Group   Base  Specifications  Issue  7
-       (POSIX.1-2008) documents only the operands for <B>clear</B>, <B>init</B>  and  <B>reset</B>.
+       IEEE  Std  1003.1/The  Open  Group    Base   Specifications   Issue   7
+       (POSIX.1-2008)  documents  only the operands for <STRONG>clear</STRONG>, <STRONG>init</STRONG> and <STRONG>reset</STRONG>.
        There are a few interesting observations to make regarding that:
 
        There are a few interesting observations to make regarding that:
 
-       <B>o</B>   In  this implementation, <B>clear</B> is part of the <I>capname</I> support.  The
-           others  (<B>init</B>  and  <B>longname</B>)  do  not   correspond   to   terminal
+       <STRONG>o</STRONG>   In this implementation, <STRONG>clear</STRONG> is part of the <EM>cap-code</EM> support.  The
+           others   (<STRONG>init</STRONG>   and   <STRONG>longname</STRONG>)  do  not  correspond  to  terminal
            capabilities.
 
            capabilities.
 
-       <B>o</B>   Other  implementations  of  <B>tput</B>  on  SVr4-based  systems  such  as
-           Solaris, IRIX64 and HPUX as well as others such as  AIX  and  Tru64
-           provide support for <I>capname</I> operands.
+       <STRONG>o</STRONG>   Other  implementations  of  <STRONG>tput</STRONG>  on  SVr4-based  systems  such  as
+           Solaris,  IRIX64  and HP-UX as well as others such as AIX and Tru64
+           provide support for <EM>cap-code</EM> operands.
 
 
-       <B>o</B>   A few platforms such as FreeBSD recognize termcap names rather than
-           terminfo capability names in their respective <B>tput</B> commands.  Since
-           2010,  NetBSD's  <B>tput</B>  uses  terminfo names.  Before that, it (like
+       <STRONG>o</STRONG>   A few platforms such as FreeBSD recognize termcap names rather than
+           terminfo capability names in their respective <STRONG>tput</STRONG> commands.  Since
+           2010, NetBSD's <STRONG>tput</STRONG> uses terminfo names.   Before  that,  it  (like
            FreeBSD) recognized termcap names.
 
            FreeBSD) recognized termcap names.
 
-           Beginning in 2021, FreeBSD uses the ncurses  <B>tput</B>,  configured  for
+           Beginning  in  2021,  FreeBSD uses the <EM>ncurses</EM> <STRONG>tput</STRONG>, configured for
            both terminfo (tested first) and termcap (as a fallback).
 
            both terminfo (tested first) and termcap (as a fallback).
 
-       Because (apparently) <I>all</I> of the certified Unix systems support the full
-       set of capability names, the reasoning for documenting only a  few  may
+       Because (apparently) <EM>all</EM> of the certified Unix systems support the full
+       set  of  capability names, the reasoning for documenting only a few may
        not be apparent.
 
        not be apparent.
 
-       <B>o</B>   X/Open  Curses Issue 7 documents <B>tput</B> differently, with <I>capname</I> and
+       <STRONG>o</STRONG>   X/Open Curses Issue 7 documents <STRONG>tput</STRONG> differently, with <EM>cap-code</EM> and
            the other features used in this implementation.
 
            the other features used in this implementation.
 
-       <B>o</B>   That is, there are two standards for <B>tput</B>:  POSIX  (a  subset)  and
-           X/Open  Curses (the full implementation).  POSIX documents a subset
-           to avoid the  complication  of  including  X/Open  Curses  and  the
+       <STRONG>o</STRONG>   That  is,  there  are  two standards for <STRONG>tput</STRONG>: POSIX (a subset) and
+           X/Open Curses (the full implementation).  POSIX documents a  subset
+           to  avoid  the  complication  of  including  X/Open  Curses and the
            terminal capabilities database.
 
            terminal capabilities database.
 
-       <B>o</B>   While  it  is  certainly  possible  to write a <B>tput</B> program without
-           using  curses,  none  of  the   systems   which   have   a   curses
-           implementation  provide  a  <B>tput</B> utility which does not provide the
-           <I>capname</I> feature.
+       <STRONG>o</STRONG>   While it is certainly possible to  write  a  <STRONG>tput</STRONG>  program  without
+           using  <EM>curses,</EM>  no  system  with a <EM>curses</EM> implementation provides a
+           <STRONG>tput</STRONG> utility that does not also supply the <EM>cap-code</EM> feature.
 
        X/Open  Curses  Issue  7  (2009)  is  the  first  version  to  document
        utilities.  However that part of X/Open Curses does not follow existing
 
        X/Open  Curses  Issue  7  (2009)  is  the  first  version  to  document
        utilities.  However that part of X/Open Curses does not follow existing
-       practice (i.e., Unix features documented in SVID 3):
+       practice (that is, System V <EM>curses</EM> behavior).
 
 
-       <B>o</B>   It assigns exit code 4 to "invalid operand", which may be the  same
-           as  <I>unknown</I> <I>capability</I>.  For instance, the source code for Solaris'
-           xcurses uses the term "invalid" in this case.
+       <STRONG>o</STRONG>   It assigns exit status 4 to "invalid operand",  which  may  be  the
+           same  as  <EM>unknown</EM>  <EM>capability</EM>.   For  instance, the source code for
+           Solaris' xcurses uses the term "invalid" in this case.
 
 
-       <B>o</B>   It assigns exit  code  255  to  a  numeric  variable  that  is  not
+       <STRONG>o</STRONG>   It assigns exit status 255  to  a  numeric  variable  that  is  not
            specified in the terminfo database.  That likely is a documentation
            specified in the terminfo database.  That likely is a documentation
-           error, confusing the <B>-1</B> written  to  the  standard  output  for  an
-           absent or cancelled numeric value versus an (unsigned) exit code.
+           error, confusing the <STRONG>-1</STRONG> written  to  the  standard  output  for  an
+           absent or cancelled numeric value versus an (unsigned) exit status.
 
 
-       The  various  Unix systems (AIX, HPUX, Solaris) use the same exit-codes
-       as ncurses.
+       The  various  Unix  systems  (AIX,  HP-UX,  Solaris)  use the same exit
+       statuses as <EM>ncurses</EM>.
 
 
-       NetBSD curses documents different exit codes which do not correspond to
-       either ncurses or X/Open.
+       NetBSD curses documents different exit statuses which do not correspond
+       to either <EM>ncurses</EM> or X/Open.
 
 
 
 
-</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <B><A HREF="clear.1.html">clear(1)</A></B>, <B>stty(1)</B>, <B><A HREF="tabs.1.html">tabs(1)</A></B>, <B><A HREF="tset.1.html">tset(1)</A></B>, <B><A HREF="curs_termcap.3X.html">curs_termcap(3X)</A></B>, <B><A HREF="terminfo.5.html">terminfo(5)</A></B>.
+</PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
+       The  <STRONG>tput</STRONG>  command  was begun by Bill Joy in 1980.  The initial version
+       only cleared the screen.
+
+       AT&amp;T System V provided a different <STRONG>tput</STRONG> command:
+
+       <STRONG>o</STRONG>   SVr2 provided  a  rudimentary  <STRONG>tput</STRONG>  which  checked  the  parameter
+           against  each  predefined capability and returned the corresponding
+           value.  This  version  of  <STRONG>tput</STRONG>  did  not  use  <STRONG><A HREF="curs_terminfo.3x.html">tparm(3x)</A></STRONG>  for  the
+           capabilities which are parameterized.
+
+       <STRONG>o</STRONG>   SVr3 replaced that, a year later, by a more extensive program whose
+           <STRONG>init</STRONG> and <STRONG>reset</STRONG>  subcommands  (more  than  half  the  program)  were
+           incorporated  from  the  <STRONG>reset</STRONG>  feature of BSD <STRONG>tset</STRONG> written by Eric
+           Allman.
+
+       <STRONG>o</STRONG>   SVr4 added color initialization using the <STRONG>orig_colors</STRONG> and <STRONG>orig_pair</STRONG>
+           capabilities in the <STRONG>init</STRONG> subcommand.
+
+       Keith  Bostic  replaced  the  BSD  <STRONG>tput</STRONG>  command  in  1989  with  a new
+       implementation based on the AT&amp;T System V program <STRONG>tput</STRONG>.  Like the  AT&amp;T
+       program,  Bostic's  version accepted some parameters named for <EM>terminfo</EM>
+       capabilities (<STRONG>clear</STRONG>, <STRONG>init</STRONG>, <STRONG>longname</STRONG> and <STRONG>reset</STRONG>).   However  (because  he
+       had  only  <EM>termcap</EM>  available),  it  accepted  <EM>termcap</EM>  names for other
+       capabilities.  Also, Bostic's BSD <STRONG>tput</STRONG> did not modify the terminal  I/O
+       modes as the earlier BSD <STRONG>tset</STRONG> had done.
+
+       At the same time, Bostic added a shell script named "clear", which used
+       <STRONG>tput</STRONG> to clear the screen.
+
+       Both  of  these  appeared  in  4.4BSD,  becoming   the   "modern"   BSD
+       implementation of <STRONG>tput</STRONG>.
+
+       This  implementation of <STRONG>tput</STRONG> began from a different source than AT&amp;T or
+       BSD: Ross Ridge's <EM>mytinfo</EM> package, published  on  <EM>comp.sources.unix</EM>  in
+       December  1992.   Ridge's  program  made  more sophisticated use of the
+       terminal capabilities than the BSD program.   Eric  Raymond  used  that
+       <STRONG>tput</STRONG>  program  (and  other  parts  of <EM>mytinfo</EM>) in <EM>ncurses</EM> in June 1995.
+       Using the portions dealing with terminal  capabilities  almost  without
+       change,   Raymond   made  improvements  to  the  way  the  command-line
+       parameters were handled.
+
+
+</PRE><H2><a name="h2-EXAMPLES">EXAMPLES</a></H2><PRE>
+       <STRONG>tput</STRONG> <STRONG>init</STRONG>
+            Initialize the terminal according to the type of terminal  in  the
+            environment  variable  <EM>TERM</EM>.   This  command should be included in
+            everyone's .profile after the environment variable <EM>TERM</EM>  has  been
+            exported, as illustrated on the <STRONG>profile(5)</STRONG> manual page.
+
+       <STRONG>tput</STRONG> <STRONG>-T5620</STRONG> <STRONG>reset</STRONG>
+            Reset  an  AT&amp;T  5620 terminal, overriding the type of terminal in
+            the environment variable <EM>TERM</EM>.
+
+       <STRONG>tput</STRONG> <STRONG>cup</STRONG> <STRONG>0</STRONG> <STRONG>0</STRONG>
+            Send the sequence to move the cursor to row <STRONG>0</STRONG>, column <STRONG>0</STRONG> (the upper
+            left  corner  of  the  screen,  usually known as the "home" cursor
+            position).
+
+       <STRONG>tput</STRONG> <STRONG>clear</STRONG>
+            Echo the clear-screen sequence for the current terminal.
+
+       <STRONG>tput</STRONG> <STRONG>cols</STRONG>
+            Print the number of columns for the current terminal.
 
 
-       This describes <B>ncurses</B> version 6.2 (patch 20210612).
+       <STRONG>tput</STRONG> <STRONG>-T450</STRONG> <STRONG>cols</STRONG>
+            Print the number of columns for the 450 terminal.
+
+       <STRONG>bold=`tput</STRONG> <STRONG>smso`</STRONG> <STRONG>offbold=`tput</STRONG> <STRONG>rmso`</STRONG>
+            Set the shell variables <STRONG>bold</STRONG>, to begin  stand-out  mode  sequence,
+            and  <STRONG>offbold</STRONG>,  to  end  standout  mode  sequence,  for the current
+            terminal.  This might be followed by a prompt: <STRONG>echo</STRONG> <STRONG>"${bold}Please</STRONG>
+            <STRONG>type</STRONG> <STRONG>in</STRONG> <STRONG>your</STRONG> <STRONG>name:</STRONG> <STRONG>${offbold}\c"</STRONG>
+
+       <STRONG>tput</STRONG> <STRONG>hc</STRONG>
+            Set exit status to indicate if the current terminal is a hard copy
+            terminal.
+
+       <STRONG>tput</STRONG> <STRONG>cup</STRONG> <STRONG>23</STRONG> <STRONG>4</STRONG>
+            Send the sequence to move the cursor to row 23, column 4.
+
+       <STRONG>tput</STRONG> <STRONG>cup</STRONG>
+            Send the terminfo string for cursor-movement, with  no  parameters
+            substituted.
+
+       <STRONG>tput</STRONG> <STRONG>longname</STRONG>
+            Print  the  long  name  from the <EM>terminfo</EM> database for the type of
+            terminal specified in the environment variable <EM>TERM</EM>.
+
+       <STRONG>tput</STRONG> <STRONG>-S</STRONG>
+            The <STRONG>-S</STRONG> option can be profitably used with a shell "here document".
+
+            $ <STRONG>tput</STRONG> <STRONG>-S</STRONG> <STRONG>&lt;&lt;!</STRONG>
+            &gt; <STRONG>clear</STRONG>
+            &gt; <STRONG>cup</STRONG> <STRONG>10</STRONG> <STRONG>10</STRONG>
+            &gt; <STRONG>bold</STRONG>
+            &gt; <STRONG>!</STRONG>
 
 
+            We see <STRONG>tput</STRONG> processing several capabilities in one invocation.  It
+            clears the screen, moves the cursor to position (10, 10) and turns
+            on bold (extra bright) mode.
 
 
+            The same sequence of commands can be combined  using  the  OpenBSD
+            feature:
 
 
-                                                                       <B><A HREF="tput.1.html">tput(1)</A></B>
+            $ <STRONG>tput</STRONG> <STRONG>clear</STRONG> <STRONG>cup</STRONG> <STRONG>10</STRONG> <STRONG>10</STRONG> <STRONG>bold</STRONG>
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="clear.1.html">clear(1)</A></STRONG>, <STRONG>stty(1)</STRONG>, <STRONG><A HREF="tabs.1.html">tabs(1)</A></STRONG>, <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>, <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
+
+
+
+ncurses 6.4                       2023-12-23                           <STRONG><A HREF="tput.1.html">tput(1)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
 </PRE>
 <div class="nav">
 <ul>
 <li><a href="#h3-Terminal-Size">Terminal Size</a></li>
 </ul>
 </li>
 <li><a href="#h3-Terminal-Size">Terminal Size</a></li>
 </ul>
 </li>
-<li><a href="#h2-EXAMPLES">EXAMPLES</a></li>
-<li><a href="#h2-FILES">FILES</a></li>
-<li><a href="#h2-EXIT-CODES">EXIT CODES</a></li>
+<li><a href="#h2-EXIT-STATUS">EXIT STATUS</a></li>
 <li><a href="#h2-DIAGNOSTICS">DIAGNOSTICS</a></li>
 <li><a href="#h2-DIAGNOSTICS">DIAGNOSTICS</a></li>
-<li><a href="#h2-HISTORY">HISTORY</a></li>
+<li><a href="#h2-FILES">FILES</a></li>
 <li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
 <li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-HISTORY">HISTORY</a></li>
+<li><a href="#h2-EXAMPLES">EXAMPLES</a></li>
 <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
 </ul>
 </div>
 <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
 </ul>
 </div>