X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=doc%2Fhtml%2Fman%2Ftput.1.html;h=ad00b2358c2def4f48c0a920710bde0385dd2db3;hp=bbc22a4eeed642b453410eeb6c2c370ad3f71e57;hb=f344f8539c1543f8cd65a5bb142dbaf23b9421d2;hpb=5606eb48618dde18a593793e2e5dafadf18d345b diff --git a/doc/html/man/tput.1.html b/doc/html/man/tput.1.html index bbc22a4e..ad00b235 100644 --- a/doc/html/man/tput.1.html +++ b/doc/html/man/tput.1.html @@ -1,7 +1,7 @@ @@ -107,7 +107,7 @@ Again, tput uses a table and the presence of param- eters in its input to decide whether to use - tparm(3x), and how to interpret the parameters. + tparm(3x), and how to interpret the parameters. -V reports the version of ncurses which was used in this program, and exits. @@ -126,7 +126,7 @@ Most parameters are numbers. Only a few terminfo capabilities require string parameters; tput uses a table to decide which to pass as strings. Normally - tput uses tparm(3x) to perform the substitution. + tput uses tparm(3x) to perform the substitution. If no parameters are given for the capability, tput writes the string without performing the substitu- tion. @@ -135,30 +135,72 @@ for the user's terminal exists (see -Ttype, above), the following will occur: - (1) if present, the terminal's initialization - strings will be output as detailed in the ter- - minfo(5) section on Tabs and Initialization, + (1) first, tput retrieves the current terminal + mode settings for your terminal. It does this + by successively testing + + o the standard error, + + o standard output, + + o standard input and + + o ultimately "/dev/tty" - (2) any delays (e.g., newline) specified in the - entry will be set in the tty driver, + to obtain terminal settings. Having retrieved + these settings, tput remembers which file + descriptor to use when updating settings. - (3) tabs expansion will be turned on or off - according to the specification in the entry, - and + (2) if the window size cannot be obtained from the + operating system, but the terminal description + (or environment, e.g., LINES and COLUMNS vari- + ables specify this), update the operating sys- + tem's notion of the window size. + + (3) the terminal modes will be updated: + + o any delays (e.g., newline) specified in + the entry will be set in the tty driver, + + o tabs expansion will be turned on or off + according to the specification in the + entry, and + + o 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 ter- + minfo(5) section on Tabs and Initialization, - (4) if tabs are not expanded, standard tabs will - be set (every 8 spaces). + (5) output is flushed. If an entry does not contain the information needed for any of these activities, that activity will silently be skipped. - reset Instead of putting out initialization strings, the - terminal's reset strings will be output if present - (rs1, rs2, rs3, rf). If the reset strings are not - present, but initialization strings are, the ini- - tialization strings will be output. Otherwise, - reset acts identically to init. + reset This is similar to init, with two differences: + + (1) before any other initialization, the terminal + modes will be reset to a "sane" state: + + o set cooked and echo modes, + + o turn off cbreak and raw modes, + + o turn on newline translation and + + o reset any unset special characters to + their default values + + (2) Instead of putting out initialization strings, + the terminal's reset strings will be output if + present (rs1, rs2, rs3, rf). If the reset + strings are not present, but initialization + strings are, the initialization strings will + be output. + + Otherwise, reset acts identically to init. longname If the terminfo database is present and an entry @@ -194,22 +236,39 @@ because of this difference with resetting terminal modes and special characters. + With the changes made for ncurses 6.1, the reset feature + of the two programs is (mostly) the same. A few differ- + ences remain: + + o The tset program waits one second when resetting, in + case it happens to be a hardware terminal. + + o The two programs write the terminal initialization + strings to different streams (i.e.,. the standard + error for tset and the standard output for tput). + + Note: 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 tput is invoked by a link named init, this has the same - effect as tput init. Again, you are less likely to use - that link because another program named init has a more + effect as tput init. Again, you are less likely to use + that link because another program named init has a more well-established use.

EXAMPLES

        tput init
             Initialize the terminal according to the type of ter-
-            minal  in the environmental variable TERM.  This com-
-            mand should be included in everyone's .profile  after
+            minal in the environmental variable TERM.  This  com-
+            mand  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
+            Reset  an  AT&T 5620 terminal, overriding the type of
             terminal in the environmental variable TERM.
 
        tput cup 0 0
@@ -230,16 +289,16 @@
        bold=`tput smso` offbold=`tput rmso`
             Set the shell variables bold, to begin stand-out mode
             sequence, and offbold, to end standout mode sequence,
-            for the current terminal.  This might be followed  by
-            a  prompt:  echo  "${bold}Please  type  in your name:
+            for  the current terminal.  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
+            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, col-
+            Send the sequence to move the cursor to row 23,  col-
             umn 4.
 
        tput cup
@@ -247,8 +306,8 @@
             parameters substituted.
 
        tput longname
-            Print  the  long  name from the terminfo database for
-            the type of terminal specified in  the  environmental
+            Print the long name from the  terminfo  database  for
+            the  type  of terminal specified in the environmental
             variable TERM.
 
             tput -S <<!
@@ -257,10 +316,10 @@
             > bold
             > !
 
-            This  example shows tput 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 tput 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 (!) on a line by itself.
 
 
@@ -270,44 +329,44 @@
 
        /usr/share/tabset/*
               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-
+              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 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,  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.
+       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 capname:
 
           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 terminal type (the value of capname is
-                 returned on standard output); a value  of  1  is
-                 set  if capname is not defined for this terminal
+          string a  value  of  0 is set if the capname is defined
+                 for this terminal type (the value of capname  is
+                 returned  on  standard  output); 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  cap-
-                 name  is  defined  for  this  terminal type.  To
-                 determine if capname is defined for this  termi-
-                 nal  type,  the user must test the value written
-                 to standard output.  A value of  -1  means  that
+                 a  value of 0 is always set, whether or not cap-
+                 name is defined  for  this  terminal  type.   To
+                 determine  if capname is defined for this termi-
+                 nal 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 that case, the exit code is set to  4
+          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 DIAGNOS-
+       Any other exit code indicates an error; see  the  DIAGNOS-
        TICS section.
 
 
@@ -317,8 +376,8 @@
 
        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
@@ -329,119 +388,117 @@
 
 
 

HISTORY

-       The  tput command was begun by Bill Joy in 1980.  The ini-
+       The tput command was begun by Bill Joy in 1980.  The  ini-
        tial version only cleared the screen.
 
-       AT&T System V provided a  different  tput  command,  whose
-       init  and  reset  subcommands (more than half the program)
+       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 writ-
-       ten  by  Eric Allman.  Later the corresponding source code
-       for reset was removed from the BSD  tset  (in  June  1993,
-       released in 4.4BSD-Lite a year later).
-
-       Keith  Bostic replaced the BSD tput command in 1989 with a
-       new implementation based on  the  AT&T  System  V  program
-       tput.   Like  the  AT&T program, Bostic's version accepted
-       some parameters named for  terminfo  capabilities  (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
+       ten by Eric Allman.
+
+       Keith Bostic replaced the BSD tput command in 1989 with  a
+       new  implementation  based  on  the  AT&T System V program
+       tput.  Like the AT&T program,  Bostic's  version  accepted
+       some  parameters  named  for terminfo capabilities (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
+       At  the  same  time,  Bostic  added  a  shell script named
        "clear", which used tput 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 tput.
 
 
 

PORTABILITY

-       This implementation of tput differs from AT&T tput in  two
+       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 regular terminal.  However,  the  subcommands
-           which  manipulate terminal modes may not use the stan-
+           not  be  a regular terminal.  However, the subcommands
+           which manipulate terminal modes may not use the  stan-
            dard output.
 
-           The AT&T implementation's init and reset commands  use
+           The  AT&T implementation's init and reset commands use
            the BSD (4.1c) tset 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
+           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 tset).  If it is  not  able
-           to  open  a terminal, e.g., when running in cron, tput
+           scheme, using functions shared with  tset  (and  ulti-
+           mately  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.
 
-       o   AT&T tput guesses the type of its capname operands  by
+       o   AT&T  tput guesses the type of its capname operands by
            seeing if all of the characters are numeric, or not.
 
            Most implementations which provide support for capname
-           operands use the tparm function to  expand  parameters
+           operands  use  the tparm function to expand parameters
            in it.  That function expects a mixture of numeric and
-           string parameters, requiring tput to know  which  type
+           string  parameters,  requiring tput 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 capname operands, and
-           an  internal  library  function to analyze nonstandard
+           an internal library function  to  analyze  nonstandard
            capname operands.
 
-       The longname and -S options, and  the  parameter-substitu-
-       tion  features used in the cup example, were not supported
-       in BSD curses before 4.3reno (1989) or in AT&T/USL  curses
+       The  longname  and -S options, and the parameter-substitu-
+       tion 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.  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 clear,
+       init and reset.  There are a few interesting  observations
        to make regarding that:
 
-       o   In this implementation, clear is part of  the  capname
+       o   In  this  implementation, clear is part of the capname
            support.  The others (init and longname) do not corre-
            spond to terminal capabilities.
 
-       o   Other implementations of tput  on  SVr4-based  systems
-           such  as  Solaris,  IRIX64  and HPUX as well as others
-           such as AIX and Tru64 provide support for capname  op-
+       o   Other  implementations  of  tput on SVr4-based systems
+           such as Solaris, IRIX64 and HPUX  as  well  as  others
+           such  as AIX and Tru64 provide support for capname op-
            erands.
 
-       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  FreeBSD)
+       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 FreeBSD)
            recognized termcap names.
 
-       Because  (apparently)  all  of  the certified Unix systems
-       support the full set of capability  names,  the  reasoning
+       Because (apparently) all of  the  certified  Unix  systems
+       support  the  full  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 the other features used in this  implemen-
+           capname  and the other features used in this implemen-
            tation.
 
-       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 terminal  capabilities
+       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 terminal capabilities
            database.
 
        o   While it is certainly possible to write a tput program
            without using curses, none of the systems which have a
-           curses  implementation  provide  a  tput utility which
+           curses implementation provide  a  tput  utility  which
            does not provide the capname feature.
 
 
 

SEE ALSO

-       clear(1),   stty(1),   tabs(1),   tset(1),    terminfo(5),
+       clear(1),    stty(1),   tabs(1),   tset(1),   terminfo(5),
        curs_termcap(3x).
 
-       This describes ncurses version 6.0 (patch 20161119).
+       This describes ncurses version 6.0 (patch 20170114).