]> ncurses.scripts.mit.edu Git - ncurses.git/blobdiff - doc/html/man/tput.1.html
ncurses 6.0 - patch 20170128
[ncurses.git] / doc / html / man / tput.1.html
index 606f7770a45968a2b7e4ae01f7a0b86b851540d6..9a7790eb90096d0882df02ca402d6593595dad83 100644 (file)
+<!-- 
+  * t
+  ****************************************************************************
+  * Copyright (c) 1998-2016,2017 Free Software Foundation, Inc.              *
+  *                                                                          *
+  * Permission is hereby granted, free of charge, to any person obtaining a  *
+  * copy of this software and associated documentation files (the            *
+  * "Software"), to deal in the Software without restriction, including      *
+  * without limitation the rights to use, copy, modify, merge, publish,      *
+  * distribute, distribute with modifications, sublicense, and/or sell       *
+  * copies of the Software, and to permit persons to whom the Software is    *
+  * furnished to do so, subject to the following conditions:                 *
+  *                                                                          *
+  * The above copyright notice and this permission notice shall be included  *
+  * in all copies or substantial portions of the Software.                   *
+  *                                                                          *
+  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  *
+  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               *
+  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   *
+  * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   *
+  * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    *
+  * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    *
+  * THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               *
+  *                                                                          *
+  * Except as contained in this notice, the name(s) of the above copyright   *
+  * holders shall not be used in advertising or otherwise to promote the     *
+  * sale, use or other dealings in this Software without prior written       *
+  * authorization.                                                           *
+  ****************************************************************************
+  * @Id: tput.1,v 1.54 2017/01/29 00:51:08 tom Exp @
+-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HTML>
+<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>tput 1</TITLE>
+<link rev=made href="mailto:bug-ncurses@gnu.org">
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</HEAD>
 <BODY>
 <BODY>
+<H1 class="no-header">tput 1</H1>
 <PRE>
 <PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
+<STRONG><A HREF="tput.1.html">tput(1)</A></STRONG>                                                         <STRONG><A HREF="tput.1.html">tput(1)</A></STRONG>
 
 
-</PRE>
-<H2>NAME</H2><PRE>
-       <B>tput</B> - initialize a terminal or query terminfo database
 
 
 
 
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
-       <B>tput</B> [<B>-T</B><I>type</I>] <I>capname</I> [<I>parms</I> ... ]
-       <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>
 
 
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>tput</STRONG>,  <STRONG>reset</STRONG>  -  initialize  a  terminal or query terminfo
+       database
 
 
-</PRE>
-<H2>DESCRIPTION</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><A HREF="sh.1.html">sh(1)</A></B>), to initialize or reset
-       the terminal, or return the long  name  of  the  requested
-       terminal  type.   <B>tput</B>  outputs  a string if the attribute
-       (<I>cap</I>ability <I>name</I>) is of type string, or an integer if  the
-       attribute is of type integer.  If the attribute is of type
-       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 produces no output.  Before using a value returned  on
-       standard  output,  the user should test the exit code [<B>$?</B>,
-       see <B><A HREF="sh.1.html">sh(1)</A></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 capabili-
-       ties and  the  <I>capname</I>  associated  with  each,  see  <B>ter-</B>
-       <B><A HREF="minfo.5.html">minfo(5)</A></B>.
-
-       <B>-T</B><I>type</I> indicates  the  <I>type</I>  of  terminal.   Normally this
+
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+       <STRONG>tput</STRONG> [<STRONG>-T</STRONG><EM>type</EM>] <EM>capname</EM> [<EM>parameters</EM>]
+       <STRONG>tput</STRONG> [<STRONG>-T</STRONG><EM>type</EM>] <STRONG>clear</STRONG>
+       <STRONG>tput</STRONG> [<STRONG>-T</STRONG><EM>type</EM>] <STRONG>init</STRONG>
+       <STRONG>tput</STRONG> [<STRONG>-T</STRONG><EM>type</EM>] <STRONG>reset</STRONG>
+       <STRONG>tput</STRONG> [<STRONG>-T</STRONG><EM>type</EM>] <STRONG>longname</STRONG>
+       <STRONG>tput</STRONG> <STRONG>-S</STRONG>  <STRONG>&lt;&lt;</STRONG>
+       <STRONG>tput</STRONG> <STRONG>-V</STRONG>
+
+
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       The <STRONG>tput</STRONG> utility uses the <STRONG>terminfo</STRONG> database  to  make  the
+       values  of terminal-dependent capabilities and information
+       available to the shell (see <STRONG>sh(1)</STRONG>), to initialize or reset
+       the  terminal,  or  return  the long name of the requested
+       terminal type.  The result depends upon  the  capability's
+       type:
+
+          string
+               <STRONG>tput</STRONG> writes the string to the standard output.  No
+               trailing newline is supplied.
+
+          integer
+               <STRONG>tput</STRONG> writes the decimal value to the standard out-
+               put, with a trailing newline.
+
+          boolean
+               <STRONG>tput</STRONG>  simply sets the exit code (<STRONG>0</STRONG> for TRUE if the
+               terminal has the capability, <STRONG>1</STRONG>  for  FALSE  if  it
+               does not), and writes nothing to the standard out-
+               put.
+
+       Before using a value returned on the standard output,  the
+       application  should  test  the  exit  code  (e.g., <STRONG>$?</STRONG>, see
+       <STRONG>sh(1)</STRONG>) to be sure it is <STRONG>0</STRONG>.  (See the <STRONG>EXIT</STRONG> <STRONG>CODES</STRONG> and  <STRONG>DIAG-</STRONG>
+       <STRONG>NOSTICS</STRONG>  sections.)   For  a complete list of capabilities
+       and the <EM>capname</EM> associated with each, see <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
+
+
+</PRE><H3><a name="h3-Options">Options</a></H3><PRE>
+       <STRONG>-T</STRONG><EM>type</EM> indicates the  <EM>type</EM>  of  terminal.   Normally  this
               option is unnecessary, because the default is taken
               option is unnecessary, because the default is taken
-              from the environment variable <B>TERM</B>.  If <B>-T</B> is spec-
-              ified, then the shell variables <B>LINES</B>  and  <B>COLUMNS</B>
-              will  be  ignored,and the operating system will not
-              be queried for the actual screen size.
-
-       <I>capname</I>
-              indicates the attribute from the <B>terminfo</B> database.
-              When  <B>termcap</B>  support  is compiled in, the <B>termcap</B>
-              name for the attribute is also accepted.
-
-       <I>parms</I>  If the attribute is a string that takes parameters,
-              the  arguments  <I>parms</I> will be instantiated into the
-              string.  An all numeric argument will be passed  to
-              the attribute as a number.
-
-       <B>-S</B>     allows  more  than one capability per invocation of
-              <B>tput</B>.  The capabilities must be passed to <B>tput</B> from
+              from the environment variable <STRONG>TERM</STRONG>.  If <STRONG>-T</STRONG> is spec-
+              ified,  then  the shell variables <STRONG>LINES</STRONG> and <STRONG>COLUMNS</STRONG>
+              will also be ignored.
+
+       <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
               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
+              (see  example).   Only  one  <EM>capname</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 codes (see the EXIT
               CODES section).
 
               CODES section).
 
-       <B>init</B>   If  the  <B>terminfo</B>  database is present and an entry
-              for the user's terminal exists (see <B>-T</B><I>type</I>, above),
-              the  following will occur: (1) if present, the ter-
-              minal's initialization strings will be output (<B>is1</B>,
-              <B>is2</B>,  <B>is3</B>,  <B>if</B>,  <B>iprog</B>), (2) any delays (e.g., new-
-              line) specified in the entry will be set in the tty
-              driver, (3) tabs expansion will be turned on or off
-              according to the specification in  the  entry,  and
-              (4) if tabs are not expanded, standard tabs will be
-              set (every 8 spaces).  If an entry does not contain
-              the  information  needed  for any of the four above
-              activities, that activity will silently be skipped.
-
-       <B>reset</B>  Instead  of putting out initialization strings, the
-              terminal's reset strings will be output if  present
-              (<B>rs1</B>,  <B>rs2</B>, <B>rs3</B>, <B>rf</B>).  If the reset strings are not
-              present, but initialization strings are,  the  ini-
-              tialization  strings  will  be  output.  Otherwise,
-              <B>reset</B> acts identically to <B>init</B>.
-
-       <B>longname</B>
-              If the <B>terminfo</B> database is present  and  an  entry
-              for  the user's terminal exists (see <B>-T</B><I>type</I> above),
+              Again, <STRONG>tput</STRONG> uses a table and the presence of param-
+              eters  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.
+
+       <STRONG>-V</STRONG>     reports the version of ncurses which  was  used  in
+              this program, and exits.
+
+
+</PRE><H3><a name="h3-Commands">Commands</a></H3><PRE>
+       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>ter-</STRONG>
+       <STRONG><A HREF="terminfo.5.html">minfo(5)</A></STRONG> for a list).  Although <STRONG>init</STRONG>  and  <STRONG>reset</STRONG>  resemble
+       capability  names,  <STRONG>tput</STRONG> uses several capabilities to per-
+       form these special functions.
+
+       <EM>capname</EM>
+              indicates the capability from  the  terminal  data-
+              base.
+
+              If  the  capability  is a string that takes parame-
+              ters, the arguments following the  capability  will
+              be used as parameters for the string.
+
+              Most  parameters  are numbers.  Only a few terminal
+              capabilities 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, <STRONG>tput</STRONG>
+              writes the string without performing the  substitu-
+              tion.
+
+       <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,  <STRONG>tput</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  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., <STRONG>LINES</STRONG> and <STRONG>COLUMNS</STRONG> vari-
+                   ables specify this), update the operating sys-
+                   tem's notion of the window size.
+
+              (3)  the terminal modes will be updated:
+
+                   <STRONG>o</STRONG>   any  delays  (e.g.,  newline) specified in
+                       the entry will be set in the tty driver,
+
+                   <STRONG>o</STRONG>   tabs expansion will be turned  on  or  off
+                       according  to  the  specification  in  the
+                       entry, and
+
+                   <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 output as detailed in the <STRONG>ter-</STRONG>
+                   <STRONG><A HREF="terminfo.5.html">minfo(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.
+
+       <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:
+
+                   <STRONG>o</STRONG>   set cooked and echo modes,
+
+                   <STRONG>o</STRONG>   turn off cbreak and raw modes,
+
+                   <STRONG>o</STRONG>   turn on newline translation and
+
+                   <STRONG>o</STRONG>   reset  any  unset  special  characters  to
+                       their default values
+
+              (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.
+
+              Otherwise, <STRONG>reset</STRONG> acts identically to <STRONG>init</STRONG>.
+
+       <STRONG>longname</STRONG>
+              If the terminal database is present  and  an  entry
+              for  the user's terminal exists (see <STRONG>-T</STRONG><EM>type</EM> above),
               then the long name of the terminal will be put out.
               The long name is the last name in the first line of
               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>].
+              the terminal's description in the <STRONG>terminfo</STRONG> database
+              [see <STRONG><A HREF="term.5.html">term(5)</A></STRONG>].
 
 
 
 
-</PRE>
-<H2>EXAMPLES</H2><PRE>
-       <B>tput</B> <B>init</B>
+</PRE><H3><a name="h3-Aliases">Aliases</a></H3><PRE>
+       <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.
+
+       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.
+
+       Before  ncurses 6.1, the two utilities were different from
+       each other:
+
+       <STRONG>o</STRONG>   <STRONG>tset</STRONG> utility reset  the  terminal  modes  and  special
+           characters (not done with <STRONG>tput</STRONG>).
+
+       <STRONG>o</STRONG>   On the other hand, <STRONG>tset</STRONG>'s repertoire of terminal capa-
+           bilities 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.
+
+       <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.
+
+       With  the  changes made for ncurses 6.1, the <EM>reset</EM> feature
+       of the two programs is (mostly) the same.  A  few  differ-
+       ences remain:
+
+       <STRONG>o</STRONG>   The  <STRONG>tset</STRONG>  program waits one second when resetting, in
+           case it happens to be a hardware terminal.
+
+       <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>).
+
+           <STRONG>Note:</STRONG>  although  these  programs  write  to  different
+           streams,  redirecting their output to a file will cap-
+           ture only part of their actions.  The changes  to  the
+           terminal  modes  are  not  affected by redirecting the
+           output.
+
+       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><H2><a name="h2-EXAMPLES">EXAMPLES</a></H2><PRE>
+       <STRONG>tput</STRONG> <STRONG>init</STRONG>
             Initialize the terminal according to the type of ter-
             Initialize the terminal according to the type of ter-
-            minal in the environmental variable <B>TERM</B>.  This  com-
+            minal in the environmental variable <STRONG>TERM</STRONG>.  This  com-
             mand  should be included in everyone's .profile after
             mand  should be included in everyone's .profile after
-            the environmental variable <B>TERM</B> has been exported, as
-            illustrated on the <B><A HREF="profile.4.html">profile(4)</A></B> manual page.
+            the environmental variable <STRONG>TERM</STRONG> has been exported, as
+            illustrated on the <STRONG>profile(5)</STRONG> manual page.
 
 
-       <B>tput</B> <B>-T5620</B> <B>reset</B>
+       <STRONG>tput</STRONG> <STRONG>-T5620</STRONG> <STRONG>reset</STRONG>
             Reset  an  AT&amp;T 5620 terminal, overriding the type of
             Reset  an  AT&amp;T 5620 terminal, overriding the type of
-            terminal in the environmental variable <B>TERM</B>.
+            terminal in the environmental variable <STRONG>TERM</STRONG>.
 
 
-       <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
+       <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).
 
             as the "home" cursor position).
 
-       <B>tput</B> <B>clear</B>
+       <STRONG>tput</STRONG> <STRONG>clear</STRONG>
             Echo the clear-screen sequence for the current termi-
             nal.
 
             Echo the clear-screen sequence for the current termi-
             nal.
 
-       <B>tput</B> <B>cols</B>
+       <STRONG>tput</STRONG> <STRONG>cols</STRONG>
             Print the number of columns for the current terminal.
 
             Print the number of columns for the current terminal.
 
-       <B>tput</B> <B>-T450</B> <B>cols</B>
+       <STRONG>tput</STRONG> <STRONG>-T450</STRONG> <STRONG>cols</STRONG>
             Print the number of columns for the 450 terminal.
 
             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>
 
 
-       <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
+       <STRONG>tput</STRONG> <STRONG>hc</STRONG>
+            Set  exit code to indicate if the current terminal is
             a hard copy terminal.
 
             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, col-
+       <STRONG>tput</STRONG> <STRONG>cup</STRONG> <STRONG>23</STRONG> <STRONG>4</STRONG>
+            Send the sequence to move the cursor to row 23,  col-
             umn 4.
 
             umn 4.
 
-       <B>tput</B> <B>longname</B>
-            Print the long name from the  <B>terminfo</B>  database  for
+       <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  <STRONG>terminfo</STRONG>  database  for
             the  type  of terminal specified in the environmental
             the  type  of terminal specified in the environmental
-            variable <B>TERM</B>.
+            variable <STRONG>TERM</STRONG>.
 
 
-       <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>
+            <STRONG>tput</STRONG> <STRONG>-S</STRONG> <STRONG>&lt;&lt;!</STRONG>
+            <STRONG>&gt;</STRONG> <STRONG>clear</STRONG>
+            <STRONG>&gt;</STRONG> <STRONG>cup</STRONG> <STRONG>10</STRONG> <STRONG>10</STRONG>
+            <STRONG>&gt;</STRONG> <STRONG>bold</STRONG>
+            <STRONG>&gt;</STRONG> <STRONG>!</STRONG>
 
 
-            This example shows tput processing several  capabili-
-            ties  in  one  invocation.   This  example 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.
+            This example shows <STRONG>tput</STRONG> processing several  capabili-
+            ties  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 (<STRONG>!</STRONG>) on a line by itself.
 
 
 
 
-</PRE>
-<H2>FILES</H2><PRE>
-       <B>@DATADIR@/terminfo</B>
+</PRE><H2><a name="h2-FILES">FILES</a></H2><PRE>
+       <STRONG>/usr/share/terminfo</STRONG>
               compiled terminal description database
 
               compiled terminal description database
 
-       <B>/usr/include/curses.h</B>
-              <B><A HREF="ncurses.3x.html">curses(3x)</A></B> header file
-
-       <B>/usr/include/term.h</B>
-              <B>terminfo</B> header file
-
-       <B>@DATADIR@/tabset/*</B>
+       <STRONG>/usr/share/tabset/*</STRONG>
               tab settings for some terminals, in a format appro-
               priate   to  be  output  to  the  terminal  (escape
               sequences that set  margins  and  tabs);  for  more
               tab settings for some terminals, in a format appro-
               priate   to  be  output  to  the  terminal  (escape
               sequences that set  margins  and  tabs);  for  more
-              information, see the "Tabs and Initialization" sec-
-              tion of <B><A HREF="terminfo.4.html">terminfo(4)</A></B>
-
-
-</PRE>
-<H2>SEE ALSO</H2><PRE>
-       <B><A HREF="clear.1.html">clear(1)</A></B>, <B><A HREF="stty.1.html">stty(1)</A></B>, <B><A HREF="tabs.5.html">tabs(5)</A></B>.   <B><A HREF="profile.5.html">profile(5)</A></B>,  <B><A HREF="terminfo.4.html">terminfo(4)</A></B>  in
-       the  <I>System</I>  <I>Administrator</I>'<I>s</I> <I>Reference</I> <I>Manual</I>.  Chapter 10
-       of the <I>Programmer</I>'<I>s</I> <I>Guide</I>.
-
-
-</PRE>
-<H2>EXIT CODES</H2><PRE>
-       If <I>capname</I> is of type boolean, a value of  <B>0</B>  is  set  for
-       TRUE and <B>1</B> for FALSE unless the <B>-S</B> option is used.
-
-       If  <I>capname</I>  is of type string, 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>  (a
-       null value is returned on standard output).
-
-       If  <I>capname</I> is of type boolean or string and the <B>-S</B> option
-       is used, a value of <B>0</B> is returned  to  indicate  that  all
-       lines were successful.  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 <I>capname</I> is of type integer, 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 of standard output.  A  value
-       of  <B>-1</B> means that <I>capname</I> is not defined for this terminal
-       <I>type</I>.
+              information,  see the <EM>Tabs</EM> <EM>and</EM> <EM>Initialization</EM>, sec-
+              tion of <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
+
+
+</PRE><H2><a name="h2-EXIT-CODES">EXIT CODES</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 code
+       to 4 plus the number of lines with errors.  If  no  errors
+       are  found,  the  exit  code is <STRONG>0</STRONG>.  No indication of which
+       line failed can be given so exit code <STRONG>1</STRONG> will never appear.
+       Exit  codes <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 code depends on the
+       type of <EM>capname</EM>:
+
+          <EM>boolean</EM>
+                 a value of <STRONG>0</STRONG> is set for TRUE and <STRONG>1</STRONG> for FALSE.
+
+          <EM>string</EM> a  value  of  <STRONG>0</STRONG> is set if the <EM>capname</EM> is defined
+                 for this terminal <EM>type</EM> (the value of <EM>capname</EM>  is
+                 returned  on  standard  output); a value of <STRONG>1</STRONG> is
+                 set if <EM>capname</EM> is not defined for this  terminal
+                 <EM>type</EM> (nothing is written to standard output).
+
+          <EM>integer</EM>
+                 a  value of <STRONG>0</STRONG> is always set, whether or not <EM>cap-</EM>
+                 <EM>name</EM> is defined  for  this  terminal  <EM>type</EM>.   To
+                 determine  if <EM>capname</EM> is defined for this termi-
+                 nal <EM>type</EM>, the user must test the  value  written
+                 to  standard  output.   A value of <STRONG>-1</STRONG> means that
+                 <EM>capname</EM> is not defined for this terminal <EM>type</EM>.
+
+          <EM>other</EM>  <STRONG>reset</STRONG> or <STRONG>init</STRONG> may fail to find their  respective
+                 files.   In that case, the exit code is set to 4
+                 + <STRONG>errno</STRONG>.
 
        Any other exit code indicates an error; see  the  DIAGNOS-
        TICS section.
 
 
 
        Any other exit code indicates an error; see  the  DIAGNOS-
        TICS section.
 
 
-</PRE>
-<H2>DIAGNOSTICS</H2><PRE>
-       <B>tput</B> prints the following error messages and sets the cor-
+</PRE><H2><a name="h2-DIAGNOSTICS">DIAGNOSTICS</a></H2><PRE>
+       <STRONG>tput</STRONG> prints the following error messages and sets the cor-
        responding exit codes.
 
        exit code   error message
        responding 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>
-
-
-</PRE>
-<H2>PORTABILITY</H2><PRE>
-       The <B>longname</B> and <B>-S</B> options, and  the  parameter-substitu-
-       tion  features  used in the <B>cup</B> example, are not supported
-       in BSD curses or in AT&amp;T/USL curses before SVr4.
-
-
-
-
-
-
-
-
-
-
-
+       ---------------------------------------------------------------------
+       <STRONG>0</STRONG>           (<EM>capname</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>-T2621</STRONG> <STRONG>xmc</STRONG>)
+       <STRONG>1</STRONG>           no error message is printed, see the <STRONG>EXIT</STRONG> <STRONG>CODES</STRONG> section.
+       <STRONG>2</STRONG>           usage error
+       <STRONG>3</STRONG>           unknown terminal <EM>type</EM> or no <STRONG>terminfo</STRONG> database
+       <STRONG>4</STRONG>           unknown <STRONG>terminfo</STRONG> capability <EM>capname</EM>
+       <STRONG>&gt;4</STRONG>          error occurred in -S
+       ---------------------------------------------------------------------
+
+
+</PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
+       The <STRONG>tput</STRONG> command was begun by Bill Joy in 1980.  The  ini-
+       tial version only cleared the screen.
+
+       AT&amp;T  System  V  provided  a different <STRONG>tput</STRONG> command, 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> writ-
+       ten by Eric Allman.
+
+       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> <EM>capabilities</EM> (<STRONG>clear</STRONG>,
+       <STRONG>init</STRONG>, <STRONG>longname</STRONG> and <STRONG>reset</STRONG>).  However (because he  had  only
+       termcap  available),  it  accepted <EM>termcap</EM> <EM>names</EM> 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 the <STRONG>tput</STRONG> program
+       (and other parts of <EM>mytinfo</EM>)  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.
+
+
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       This  implementation of <STRONG>tput</STRONG> differs from AT&amp;T <STRONG>tput</STRONG> in two
+       important areas:
+
+       <STRONG>o</STRONG>   <STRONG>tput</STRONG> <EM>capname</EM> writes to the standard output.  That need
+           not  be  a regular terminal.  However, the subcommands
+           which manipulate terminal modes may not use the  stan-
+           dard output.
+
+           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, stan-
+           dard 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,  <STRONG>tput</STRONG>  did  not
+           modify  terminal  modes.   <STRONG>tput</STRONG>  now  uses  a  similar
+           scheme, using functions shared with  <STRONG>tset</STRONG>  (and  ulti-
+           mately  based  on the 4.4BSD <STRONG>tset</STRONG>).  If it is not able
+           to open a terminal, e.g., when running in  <STRONG>cron</STRONG>,  <STRONG>tput</STRONG>
+           will return an error.
+
+       <STRONG>o</STRONG>   AT&amp;T  <STRONG>tput</STRONG> guesses the type of its <EM>capname</EM> operands by
+           seeing if all of the characters are numeric, or not.
+
+           Most implementations which provide support for <EM>capname</EM>
+           operands  use  the <EM>tparm</EM> 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 for the standard <EM>capname</EM> operands, and
+           an internal library function  to  analyze  nonstandard
+           <EM>capname</EM> operands.
+
+       This  implementation (unlike others) can accept both <EM>term-</EM>
+       <EM>cap</EM> and <EM>terminfo</EM> names for the <EM>capname</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).
+           The <EM>terminfo</EM> name <STRONG>dl</STRONG> corresponds to the  <EM>termcap</EM>  name
+           <STRONG>DL</STRONG> (delete a given number of lines).
+
+       <STRONG>o</STRONG>   The  <EM>termcap</EM>  name <STRONG>ed</STRONG> corresponds to the <EM>terminfo</EM> name
+           <STRONG>rmdc</STRONG> (end delete mode).
+           The <EM>terminfo</EM> name <STRONG>ed</STRONG> corresponds to the  <EM>termcap</EM>  name
+           <STRONG>cd</STRONG> (clear to end of screen).
+
+       The  <STRONG>longname</STRONG>  and <STRONG>-S</STRONG> options, and the parameter-substitu-
+       tion features used in the <STRONG>cup</STRONG> example, were not  supported
+       in  BSD curses before 4.3reno (1989) or in AT&amp;T/USL curses
+       before SVr4 (1988).
+
+       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:
+
+       <STRONG>o</STRONG>   In  this  implementation, <STRONG>clear</STRONG> is part of the <EM>capname</EM>
+           support.  The others (<STRONG>init</STRONG> and <STRONG>longname</STRONG>) do not corre-
+           spond to terminal capabilities.
+
+       <STRONG>o</STRONG>   Other  implementations  of  <STRONG>tput</STRONG> on SVr4-based systems
+           such as Solaris, IRIX64 and HPUX  as  well  as  others
+           such  as AIX and Tru64 provide support for <EM>capname</EM> op-
+           erands.
+
+       <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.
+
+       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.
+
+       <STRONG>o</STRONG>   X/Open Curses Issue 7 documents <STRONG>tput</STRONG> differently, with
+           <EM>capname</EM>  and the other features used in this implemen-
+           tation.
+
+       <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.
+
+       <STRONG>o</STRONG>   While it is certainly possible to write a <STRONG>tput</STRONG> program
+           without using curses, none of the systems which have a
+           curses implementation provide  a  <STRONG>tput</STRONG>  utility  which
+           does not provide the <EM>capname</EM> feature.
+
+
+</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="terminfo.5.html">terminfo(5)</A></STRONG>,
+       <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>.
+
+       This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20170128).
+
+
+
+                                                                <STRONG><A HREF="tput.1.html">tput(1)</A></STRONG>
 </PRE>
 </PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
+<ul>
+<li><a href="#h3-Options">Options</a></li>
+<li><a href="#h3-Commands">Commands</a></li>
+<li><a href="#h3-Aliases">Aliases</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-DIAGNOSTICS">DIAGNOSTICS</a></li>
+<li><a href="#h2-HISTORY">HISTORY</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
 </BODY>
 </HTML>
 </BODY>
 </HTML>