X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=doc%2Fhtml%2Fman%2Ftput.1.html;h=7fa10e86125c9f681b640fb28a866055d1936bf3;hp=6483d3d0538026a57039be3e2a56a9370641d48f;hb=ce4803687b821efbc5fb2c5a5f06d69cd4dc2656;hpb=c3b21f65a2687f3894a0d3217006c23f162c893a diff --git a/doc/html/man/tput.1.html b/doc/html/man/tput.1.html index 6483d3d0..7fa10e86 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.
+ 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 @@
- 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. +
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 20170218).