]> ncurses.scripts.mit.edu Git - ncurses.git/blobdiff - doc/html/man/tput.1.html
ncurses 6.0 - patch 20161224
[ncurses.git] / doc / html / man / tput.1.html
index 6483d3d0538026a57039be3e2a56a9370641d48f..ac789f043deb26c0d32873f47965c12a8f87bc99 100644 (file)
@@ -27,7 +27,7 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: tput.1,v 1.44 2016/08/20 23:40:31 tom Exp @
+  * @Id: tput.1,v 1.46 2016/10/22 19:57:25 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 
 
 </PRE><H3><a name="h3-Aliases">Aliases</a></H3><PRE>
-       <STRONG>tput</STRONG>  handles  the  <STRONG>init</STRONG>  and <STRONG>reset</STRONG> commands specially: it
-       allows for the possibility that it is invoked  by  a  link
+       <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:
+       treats a link named <STRONG>reset</STRONG> specially.
 
-       <STRONG>o</STRONG>   That  utility  resets  the  terminal modes and special
-           characters (not done here).
+       Before  ncurses 6.1, the two utilities were different from
+       each other:
 
-       <STRONG>o</STRONG>   On the other hand, tset's repertoire of terminal capa-
-           bilities  for  resetting the terminal is more limited,
+       <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 tset, due to
-           the  resetting  of  terminal modes and special charac-
-           ters.
+       <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.
 
        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
+       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-
-            minal in the environmental variable <STRONG>TERM</STRONG>.  This  com-
-            mand  should be included in everyone's .profile after
+            minal  in the environmental variable <STRONG>TERM</STRONG>.  This com-
+            mand should be included in everyone's .profile  after
             the environmental variable <STRONG>TERM</STRONG> 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
+            Reset an AT&amp;T 5620 terminal, overriding the  type  of
             terminal in the environmental variable <STRONG>TERM</STRONG>.
 
        <STRONG>tput</STRONG> <STRONG>cup</STRONG> <STRONG>0</STRONG> <STRONG>0</STRONG>
        <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>
+            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 code to indicate if the current terminal is
+            Set exit code 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,  col-
+            Send  the sequence to move the cursor to row 23, col-
             umn 4.
 
        <STRONG>tput</STRONG> <STRONG>cup</STRONG>
             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
+            Print  the  long  name from the <STRONG>terminfo</STRONG> database for
+            the type of terminal specified in  the  environmental
             variable <STRONG>TERM</STRONG>.
 
             <STRONG>tput</STRONG> <STRONG>-S</STRONG> <STRONG>&lt;&lt;!</STRONG>
             <STRONG>&gt;</STRONG> <STRONG>bold</STRONG>
             <STRONG>&gt;</STRONG> <STRONG>!</STRONG>
 
-            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
+            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.
 
 
 
        <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
-              information,  see the <EM>Tabs</EM> <EM>and</EM> <EM>Initialization</EM>, sec-
+              priate  to  be  output  to  the  terminal   (escape
+              sequences  that  set  margins  and  tabs); for more
+              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, 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.
+       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>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
+                 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
+          <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-
+       Any  other  exit code indicates an error; see the DIAGNOS-
        TICS section.
 
 
 
        exit code   error message
        ---------------------------------------------------------------------
-       <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>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
 
 
 </PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
-       The <STRONG>tput</STRONG> command was begun by Bill Joy in 1980.  The  ini-
+       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)
+       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.  Later the corresponding  source  code
-       for  <EM>reset</EM>  was  removed  from the BSD <STRONG>tset</STRONG> (in June 1993,
+       ten  by  Eric Allman.  Later the corresponding source code
+       for <EM>reset</EM> was removed from the BSD  <STRONG>tset</STRONG>  (in  June  1993,
        released in 4.4BSD-Lite a year later).
 
-       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
+       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
+       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"
+       Both  of  these  appeared in 4.4BSD, becoming the "modern"
        BSD implementation of <STRONG>tput</STRONG>.
 
 
 </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
+       This implementation of <STRONG>tput</STRONG> differs from AT&amp;T <STRONG>tput</STRONG> in  two
        important areas:
 
-       <STRONG>o</STRONG>   tput <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-
+       <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 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
+           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,  tput  did  not
-           modify  terminal  modes.   tput  now  uses  a  similar
-           scheme, using functions shared with  tset  (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>,  tput
+           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
+       <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
+           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
+           string parameters, requiring <STRONG>tput</STRONG> to know  which  type
            to use.
 
-           This implementation uses  a  table  to  determine  the
+           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
+           an  internal  library  function to analyze nonstandard
            <EM>capname</EM> operands.
 
-       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
+       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
+       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>
+       <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-
+       <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)
+       <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
+       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-
+           <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
+       <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
+           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="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 20161015).
+       This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20161224).