X-Git-Url: http://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=doc%2Fhtml%2Fman%2Ftput.1.html;h=996bf11e5637b667073e6291045f94069fc96115;hp=a855831c8c5b7f7f7a497f6108bb14ff6895653c;hb=8f6d94b8d6211a2323caef53fa4c96c475ec9a62;hpb=7fa7badf32c514211478cf9f79c70f20d435c2f2 diff --git a/doc/html/man/tput.1.html b/doc/html/man/tput.1.html index a855831c..996bf11e 100644 --- a/doc/html/man/tput.1.html +++ b/doc/html/man/tput.1.html @@ -1,7 +1,7 @@ - + tput 1 - +

tput 1

-tput(1)                                                                tput(1)
+tput(1)                     General Commands Manual                    tput(1)
 
 
 
@@ -232,7 +232,7 @@
            pens to be a hardware terminal.
 
        o   The two programs write the terminal initialization strings to  dif-
-           ferent streams (i.e.,. the standard error for tset and the standard
+           ferent  streams (i.e., the standard error for tset and the standard
            output for tput).
 
            Note: although these programs write to different streams, redirect-
@@ -245,20 +245,41 @@
        program named init has a more well-established use.
 
 
+

Terminal Size

+       Besides  the  special  commands (e.g., clear), tput treats certain ter-
+       minfo  capabilities  specially:  lines   and   columns.    tput   calls
+       setupterm(3x) to obtain the terminal size:
+
+       o   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)
+
+       o   then  it  asks  the operating system for the terminal's size (which
+           generally works, unless connecting via a serial line which does not
+           support NAWS: negotiations about window size).
+
+       o   finally,  it  inspects  the environment variables LINES and COLUMNS
+           which may override the terminal size.
+
+       If the -T option is given tput ignores  the  environment  variables  by
+       calling   use_tioctl(TRUE),  relying  upon  the  operating  system  (or
+       finally, the terminal database).
+
+
 

EXAMPLES

        tput init
-            Initialize  the  terminal according to the type of terminal in the
-            environmental variable TERM.  This command should be  included  in
+            Initialize the terminal according to the type of terminal  in  the
+            environmental  variable  TERM.  This command should be included in
             everyone's .profile after the environmental variable TERM has been
             exported, as illustrated on the profile(5) manual page.
 
        tput -T5620 reset
-            Reset an AT&T 5620 terminal, overriding the type  of  terminal  in
+            Reset  an  AT&T  5620 terminal, overriding the type of terminal in
             the environmental variable TERM.
 
        tput cup 0 0
             Send the sequence to move the cursor to row 0, column 0 (the upper
-            left corner of the screen, usually  known  as  the  "home"  cursor
+            left  corner  of  the  screen,  usually known as the "home" cursor
             position).
 
        tput clear
@@ -271,24 +292,24 @@
             Print the number of columns for the 450 terminal.
 
        bold=`tput smso` offbold=`tput rmso`
-            Set  the  shell  variables bold, to begin stand-out mode sequence,
+            Set the shell variables bold, to begin  stand-out  mode  sequence,
             and offbold, to end standout mode sequence, for the current termi-
             nal.  This might be followed by a prompt: echo "${bold}Please type
             in your name: ${offbold}\c"
 
        tput hc
-            Set exit code to indicate if the current terminal is a  hard  copy
+            Set  exit  code to indicate if the current terminal is a hard copy
             terminal.
 
        tput cup 23 4
             Send the sequence to move the cursor to row 23, column 4.
 
        tput cup
-            Send  the  terminfo string for cursor-movement, with no parameters
+            Send the terminfo string for cursor-movement, with  no  parameters
             substituted.
 
        tput longname
-            Print the long name from the terminfo database  for  the  type  of
+            Print  the  long  name  from the terminfo database for the type of
             terminal specified in the environmental variable TERM.
 
             tput -S <<!
@@ -297,9 +318,9 @@
             > bold
             > !
 
-            This  example  shows  tput  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 termi-
+            This example shows tput 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  termi-
             nated by an exclamation mark (!) on a line by itself.
 
 
@@ -308,50 +329,50 @@
               compiled terminal description database
 
        /usr/share/tabset/*
-              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  Tabs  and  Initialization,
+              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 Tabs and Initialization,
               section of terminfo(5)
 
 
 

EXIT CODES

        If the -S option is used, tput 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 0.  No
-       indication of which line failed can be given so exit code 1 will  never
-       appear.   Exit codes 2, 3, and 4 retain their usual interpretation.  If
-       the -S option is not used, the exit code depends on the  type  of  cap-
+       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  0.   No
+       indication  of which line failed can be given so exit code 1 will never
+       appear.  Exit codes 2, 3, and 4 retain their usual interpretation.   If
+       the  -S  option  is not used, the exit code depends on the type of cap-
        name:
 
           boolean
                  a value of 0 is set for TRUE and 1 for FALSE.
 
           string a value of 0 is set if the capname is defined for this termi-
-                 nal type (the value of capname is returned on  standard  out-
-                 put);  a value of 1 is set if capname is not defined for this
+                 nal  type  (the value of capname is returned on standard out-
+                 put); a value of 1 is set if capname is not defined for  this
                  terminal type (nothing is written to standard output).
 
           integer
                  a value of 0 is always set, whether or not capname is defined
-                 for  this  terminal type.  To determine if capname is defined
-                 for this terminal type, the user must test the value  written
-                 to  standard output.  A value of -1 means that capname is not
+                 for this terminal type.  To determine if capname  is  defined
+                 for  this terminal type, the user must test the value written
+                 to standard output.  A value of -1 means that capname is  not
                  defined for this terminal type.
 
-          other  reset or init may fail to find their  respective  files.   In
+          other  reset  or  init  may fail to find their respective files.  In
                  that case, the exit code is set to 4 + errno.
 
        Any other exit code indicates an error; see the DIAGNOSTICS section.
 
 
 

DIAGNOSTICS

-       tput  prints  the  following  error messages and sets the corresponding
+       tput prints the following error messages  and  sets  the  corresponding
        exit codes.
 
        exit code   error message
        ---------------------------------------------------------------------
-       0           (capname is a numeric variable that is not specified  in
-                   the  terminfo(5)  database  for this terminal type, e.g.
+       0           (capname  is a numeric variable that is not specified in
+                   the terminfo(5) database for this  terminal  type,  e.g.
                    tput -T450 lines and tput -T2621 xmc)
        1           no error message is printed, see the EXIT CODES section.
        2           usage error
@@ -362,19 +383,19 @@
 
 
 

HISTORY

-       The tput command was begun by Bill Joy in 1980.   The  initial  version
+       The  tput  command  was begun by Bill Joy in 1980.  The initial version
        only cleared the screen.
 
-       AT&T  System  V provided a different tput command, whose init and reset
-       subcommands (more than half the program)  were  incorporated  from  the
+       AT&T System V provided a different tput command, whose init  and  reset
+       subcommands  (more  than  half  the program) were incorporated from the
        reset feature of BSD tset written by Eric Allman.
 
        Keith Bostic replaced the BSD tput command in 1989 with a new implemen-
        tation based on the AT&T System V program tput.  Like the AT&T program,
-       Bostic's  version accepted some parameters named for terminfo capabili-
-       ties (clear, init, longname and reset).  However (because he  had  only
-       termcap  available),  it accepted termcap names for other capabilities.
-       Also, Bostic's BSD tput did not modify the terminal I/O  modes  as  the
+       Bostic's version accepted some parameters named for terminfo  capabili-
+       ties  (clear,  init, longname and reset).  However (because he had only
+       termcap available), it accepted termcap names for  other  capabilities.
+       Also,  Bostic's  BSD  tput did not modify the terminal I/O modes as the
        earlier BSD tset had done.
 
        At the same time, Bostic added a shell script named "clear", which used
@@ -383,33 +404,33 @@
        Both of these appeared in 4.4BSD, becoming the "modern" BSD implementa-
        tion of tput.
 
-       This  implementation of tput began from a different source than AT&T or
-       BSD: Ross Ridge's mytinfo package, published  on  comp.sources.unix  in
+       This implementation of tput began from a different source than AT&T  or
+       BSD:  Ross  Ridge's  mytinfo package, published on comp.sources.unix in
        December 1992.  Ridge's program made more sophisticated use of the ter-
-       minal capabilities than the BSD program.  Eric Raymond  used  the  tput
-       program  (and  other  parts of mytinfo) 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
+       minal  capabilities  than the BSD program.  Eric Raymond used that tput
+       program (and other parts of mytinfo) 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.
 
 
 

PORTABILITY

-       This implementation of tput differs from AT&T  tput  in  two  important
+       This  implementation  of  tput  differs from AT&T tput in two important
        areas:
 
-       o   tput  capname  writes  to  the standard output.  That need not be a
+       o   tput capname writes to the standard output.  That  need  not  be  a
            regular terminal.  However, the subcommands which manipulate termi-
            nal modes may not use the standard output.
 
-           The  AT&T  implementation's  init  and  reset  commands use the BSD
-           (4.1c) tset source, which manipulates terminal modes.   It  succes-
+           The AT&T implementation's init  and  reset  commands  use  the  BSD
+           (4.1c)  tset  source, which manipulates terminal modes.  It succes-
            sively tries standard output, standard error, standard input before
            falling back to "/dev/tty" and finally just assumes a 1200Bd termi-
            nal.  When updating terminal modes, it ignores errors.
 
-           Until  changes made after ncurses 6.0, tput did not modify terminal
+           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 ultimately based on the 4.4BSD tset).  If it is not able
+           tset (and ultimately based on the 4.4BSD tset).  If it is not  able
            to open a terminal, e.g., when running in cron, tput will return an
            error.
 
@@ -417,72 +438,91 @@
            of the characters are numeric, or not.
 
            Most implementations which provide support for capname operands use
-           the  tparm  function  to  expand  parameters  in it.  That function
-           expects a mixture of numeric and string parameters, requiring  tput
+           the tparm function to  expand  parameters  in  it.   That  function
+           expects  a mixture of numeric and string parameters, requiring tput
            to know which type to use.
 
-           This  implementation  uses a table to determine the parameter types
+           This implementation uses a table to determine the  parameter  types
            for the standard capname operands, and an internal library function
            to analyze nonstandard capname operands.
 
-       This  implementation  (unlike  others) can accept both termcap and ter-
+       This implementation (unlike others) can accept both  termcap  and  ter-
        minfo names for the capname feature, if termcap support is compiled in.
        However, the predefined termcap and terminfo names have two ambiguities
        in this case (and the terminfo name is assumed):
 
-       o   The termcap name dl corresponds to the terminfo  name  dl1  (delete
+       o   The  termcap  name  dl corresponds to the terminfo name dl1 (delete
            one line).
-           The  terminfo  name dl corresponds to the termcap name DL (delete a
+           The terminfo name dl corresponds to the termcap name DL  (delete  a
            given number of lines).
 
-       o   The termcap name ed corresponds to  the  terminfo  name  rmdc  (end
+       o   The  termcap  name  ed  corresponds  to the terminfo name rmdc (end
            delete mode).
-           The  terminfo  name ed corresponds to the termcap name cd (clear to
+           The terminfo name ed corresponds to the termcap name cd  (clear  to
            end of screen).
 
-       The longname and -S options, and  the  parameter-substitution  features
-       used  in  the  cup  example,  were  not  supported in BSD curses before
+       The  longname  and  -S options, and the parameter-substitution features
+       used in the cup example,  were  not  supported  in  BSD  curses  before
        4.3reno (1989) or in AT&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 clear, init and reset.
+       IEEE   Std   1003.1/The   Open   Group   Base  Specifications  Issue  7
+       (POSIX.1-2008) documents only the operands for clear, init  and  reset.
        There are a few interesting observations to make regarding that:
 
-       o   In this implementation, clear is part of the capname support.   The
-           others  (init and longname) do not correspond to terminal capabili-
+       o   In  this implementation, clear is part of the capname support.  The
+           others (init and longname) do not correspond to terminal  capabili-
            ties.
 
        o   Other  implementations  of  tput  on  SVr4-based  systems  such  as
-           Solaris,  IRIX64  and  HPUX as well as others such as AIX and Tru64
+           Solaris, IRIX64 and HPUX as well as others such as  AIX  and  Tru64
            provide support for capname operands.
 
        o   A few platforms such as FreeBSD recognize termcap names rather than
            terminfo capability names in their respective tput commands.  Since
-           2010, NetBSD's tput uses terminfo names.   Before  that,  it  (like
+           2010,  NetBSD's  tput  uses  terminfo names.  Before that, it (like
            FreeBSD) recognized termcap names.
 
        Because (apparently) all of the certified Unix systems support the full
-       set of capability names, the reasoning for documenting only a  few  may
+       set  of  capability names, the reasoning for documenting only a few may
        not be apparent.
 
-       o   X/Open  Curses Issue 7 documents tput differently, with capname and
+       o   X/Open Curses Issue 7 documents tput differently, with capname  and
            the other features used in this implementation.
 
-       o   That is, there are two standards for tput:  POSIX  (a  subset)  and
-           X/Open  Curses (the full implementation).  POSIX documents a subset
+       o   That  is,  there  are  two standards for tput: 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 termi-
            nal capabilities database.
 
-       o   While  it  is  certainly  possible  to write a tput program without
-           using curses, none of the systems which have a  curses  implementa-
+       o   While it is certainly possible to  write  a  tput  program  without
+           using  curses,  none of the systems which have a curses implementa-
            tion provide a tput utility which does not provide the capname fea-
            ture.
 
+       X/Open  Curses  Issue  7 (2009) is the first version to document utili-
+       ties.  However that part of X/Open  Curses  does  not  follow  existing
+       practice (i.e., Unix features documented in SVID 3):
+
+       o   It  assigns exit code 4 to "invalid operand", which may be the same
+           as unknown capability.  For instance, the source code for  Solaris'
+           xcurses uses the term "invalid" in this case.
+
+       o   It  assigns  exit code 255 to a numeric variable that is not speci-
+           fied in the terminfo database.   That  likely  is  a  documentation
+           error,  confusing  the  -1  written  to  the standard output for an
+           absent or cancelled numeric value versus an (unsigned) exit code.
+
+       The various Unix systems (AIX, HPUX, Solaris) use the  same  exit-codes
+       as ncurses.
+
+       NetBSD curses documents different exit codes which do not correspond to
+       either ncurses or X/Open.
+
 
 

SEE ALSO

        clear(1), stty(1), tabs(1), tset(1), terminfo(5), curs_termcap(3x).
 
-       This describes ncurses version 6.0 (patch 20171014).
+       This describes ncurses version 6.1 (patch 20190518).
 
 
 
@@ -497,6 +537,7 @@
 
  • Options
  • Commands
  • Aliases
  • +
  • Terminal Size
  • EXAMPLES