X-Git-Url: http://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=doc%2Fhtml%2Fman%2Ftput.1.html;h=a7e1c8356b8f0f7c10fe63db91007a0270bbdc9a;hp=6483d3d0538026a57039be3e2a56a9370641d48f;hb=8e397cccba0aad135cb9a8a353756f4273a7cdf6;hpb=c3b21f65a2687f3894a0d3217006c23f162c893a diff --git a/doc/html/man/tput.1.html b/doc/html/man/tput.1.html index 6483d3d0..a7e1c835 100644 --- a/doc/html/man/tput.1.html +++ b/doc/html/man/tput.1.html @@ -1,7 +1,7 @@ @@ -107,61 +107,109 @@ 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.

Commands

+       A  few  commands  (init,  reset and longname) are special;
+       they are defined by the tput program.  The others are  the
+       names of capabilities from the terminal database (see ter-
+       minfo(5) for a list).  Although init  and  reset  resemble
+       capability  names,  tput uses several capabilities to per-
+       form these special functions.
+
        capname
-              indicates  the  capability  from the terminfo data-
-              base.  When termcap support  is  compiled  in,  the
-              termcap name for the capability is also accepted.
+              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 terminfo
+              Most  parameters  are numbers.  Only a few terminal
               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.
 
-       init   If  the  terminfo  database is present and an entry
+       init   If  the  terminal  database is present and an entry
               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"
+
+                   to obtain terminal settings.  Having retrieved
+                   these  settings,  tput  remembers  which  file
+                   descriptor to use when updating settings.
 
-              (2)  any  delays  (e.g.,  newline) specified in the
-                   entry will be set in the tty driver,
+              (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)  tabs  expansion  will  be  turned  on  or  off
-                   according  to  the specification in the entry,
-                   and
+              (3)  the terminal modes will be updated:
 
-              (4)  if tabs are not expanded, standard  tabs  will
-                   be set (every 8 spaces).
+                   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,
+
+              (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
+              If the terminal database is present  and  an  entry
               for  the user's terminal exists (see -Ttype above),
               then the long name of the terminal will be put out.
               The long name is the last name in the first line of
@@ -170,26 +218,46 @@
 
 
 

Aliases

-       tput  handles  the  init  and reset commands specially: it
-       allows for the possibility that it is invoked  by  a  link
+       tput handles the clear, init and reset commands specially:
+       it allows for the possibility that it is invoked by a link
        with those names.
 
        If  tput  is  invoked  by a link named reset, this has the
        same effect as  tput  reset.   The  tset(1)  utility  also
-       treats a link named reset specially:
+       treats a link named reset specially.
 
-       o   That  utility  resets  the  terminal modes and special
-           characters (not done here).
+       Before  ncurses 6.1, the two utilities were different from
+       each other:
 
-       o   On the other hand, tset's repertoire of terminal capa-
-           bilities  for  resetting the terminal is more limited,
+       o   tset utility reset  the  terminal  modes  and  special
+           characters (not done with tput).
+
+       o   On the other hand, tset's repertoire of terminal capa-
+           bilities for resetting the terminal was more  limited,
            i.e., only reset_1string, reset_2string and reset_file
            in contrast to the tab-stops and margins which are set
            by this utility.
 
-       o   The reset program is usually an alias for tset, due to
-           the  resetting  of  terminal modes and special charac-
-           ters.
+       o   The  reset  program  is  usually  an  alias  for tset,
+           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
@@ -332,9 +400,7 @@
        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).
+       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
@@ -351,12 +417,22 @@
        Both of these appeared in 4.4BSD,  becoming  the  "modern"
        BSD implementation 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  December 1992.  Ridge's program
+       made more sophisticated use of the  terminal  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 handled.
+
 
 

PORTABILITY

        This  implementation of tput differs from AT&T tput in two
        important areas:
 
-       o   tput capname writes to the standard output.  That need
+       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-
            dard output.
@@ -368,11 +444,11 @@
            "/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-
+           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
+           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
@@ -389,6 +465,22 @@
            an internal library function  to  analyze  nonstandard
            capname operands.
 
+       This  implementation (unlike others) can accept both term-
+       cap and terminfo 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 one line).
+           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 delete mode).
+           The terminfo name ed corresponds to the  termcap  name
+           cd (clear to end of screen).
+
        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
@@ -438,7 +530,7 @@
        clear(1),    stty(1),   tabs(1),   tset(1),   terminfo(5),
        curs_termcap(3x).
 
-       This describes ncurses version 6.0 (patch 20161015).
+       This describes ncurses version 6.0 (patch 20170429).