* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: tput.1,v 1.42 2016/07/30 21:01:09 tom Exp @
+ * @Id: tput.1,v 1.44 2016/08/20 23:40:31 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
The <STRONG>tput</STRONG> command was begun by Bill Joy in 1980. The ini-
tial version only cleared the screen.
- Keith Bostic replaced this in 1989 with a new implementa-
- tion based on the AT&T SystemV program <STRONG>tput</STRONG>. Like the
- AT&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.
-
- At the same time, Bostic added a shell script named
+ AT&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,
+ 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&T System V program
+ <STRONG>tput</STRONG>. Like the AT&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
"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&T <STRONG>tput</STRONG> in two
+ This implementation of <STRONG>tput</STRONG> differs from AT&T <STRONG>tput</STRONG> in two
important areas:
- <STRONG>o</STRONG> tput writes to the standard output. That need not be
- a regular terminal.
-
- The AT&T implementation's <STRONG>init</STRONG> and <STRONG>reset</STRONG> commands use
- the <STRONG>tset</STRONG> source, which manipulates terminal modes. It
- successively tries standard output, standard error,
- standard input before falling back to "/dev/tty" and
- finally just assumes a 1200Bd terminal. When updating
- terminal modes, it ignores errors.
+ <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-
+ dard output.
+
+ The AT&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
+ "/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
+ will return an error.
<STRONG>o</STRONG> AT&T <STRONG>tput</STRONG> guesses the type of its <EM>capname</EM> operands by
seeing if all of the characters are numeric, or not.
<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 20160730).
+ This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20160820).