Tput was provided in
UNIX System V in the early 1980s. A clone of the
AT&T tput was submitted to volume 7 of the
mod.sources newsgroup (later
comp.sources.unix) in September 1986. In contrast to the System V program, the clone used termcap rather than terminfo. It accepted command-line parameters for the cm (cursor addressing) capability, and recognized terminfo capability names.
System V Release 3 provided an improved version which combined the different initialization capabilities as a new option init, and the reset capabilities as reset, thereby simplifying use of
tput for initializing or reinitializing the terminal. System V Release 3.2 added several printer-specific capabilities to the terminfo database, such as swidm (enter_doublewide_mode) which
tput could use. It also added capabilities for color.
System V Release 4 defined additional terminfo capabilities including standardized
ANSI color capabilities setaf and setab, which could be used by
tput.
BSD platforms provided a different implementation of
tput in 4.3BSD-Reno (June 1990). It used termcap, recognizing only termcap capability names, and did not accept command-line parameters for cursor-addressing.
FreeBSD used this in 1994, improving it by accepting one or two numeric command-line parameters. Ross Ridge's
mytinfo package in 1992 provided a
tput which accepted either termcap or terminfo capability names. Like the Reno implementation, it did not pass command-line arguments to parameterized capabilities.
ncurses incorporated the
mytinfo code in June 1995. The initial version added a -S option, and interpreted command-line parameters as described in the
System V Release 4 documentation. ==Portability==