# tput 1

    tput(1)                                                   tput(1)

## NAME

           tput,  reset  -  initialize  a  terminal or query terminfo
           database

## SYNOPSIS

           tput [-Ttype] capname [parms ... ]
           tput [-Ttype] init
           tput [-Ttype] reset
           tput [-Ttype] longname
           tput -S  <<
           tput -V

## DESCRIPTION

           The tput utility uses the terminfo database  to  make  the
           values  of terminal-dependent capabilities and information
           available to the shell (see sh(1)), to initialize or reset
           the  terminal,  or  return  the long name of the requested
           terminal type.  tput outputs a  string  if  the  attribute
           (capability  name) is of type string, or an integer if the
           attribute is of type integer.  If the attribute is of type
           boolean, tput simply sets the exit code (0 for TRUE if the
           terminal has the capability, 1 for FALSE if it does  not),
           and  produces no output.  Before using a value returned on
           standard output, the user should test the exit  code  [$?,
           see  sh(1)]  to  be sure it is 0.  (See the EXIT CODES and
           DIAGNOSTICS sections.)  For a complete list  of  capabili-
           ties  and  the  capname  associated  with  each,  see ter-
           minfo(1).

           -Ttype indicates the  type  of  terminal.   Normally  this
                  option is unnecessary, because the default is taken
                  from the environment variable TERM.  If -T is spec-
                  ified,  then  the shell variables LINES and COLUMNS
                  will be ignored,and the operating system  will  not
                  be queried for the actual screen size.

           capname
                  indicates the attribute from the terminfo database.
                  When termcap support is compiled  in,  the  termcap
                  name for the attribute is also accepted.

           parms  If the attribute is a string that takes parameters,
                  the arguments parms will be instantiated  into  the
                  string.   An all-numeric argument will be passed to
                  the attribute as a number.

                  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.   If  no parameters are
                  given for the attribute,  tput  writes  the  string
                  without performing the substitution.

           -S     allows  more  than one capability per invocation of
                  tput.  The capabilities must be passed to tput from
                  the standard input instead of from the command line
                  (see example).  Only one  capname  is  allowed  per
                  line.   The  -S option changes the meaning of the 0
                  and 1 boolean and string exit codes (see  the  EXIT
                  CODES section).

                  Again,  tput  uses  a  table  and  the  presence of
                  parameters in its input to decide  whether  to  use
                  tparm (3x), and how to interpret the parameters.

           -V     reports  the  version  of ncurses which was used in
                  this program, and exits.

           init   If the terminfo database is present  and  an  entry
                  for the user's terminal exists (see -Ttype, above),
                  the following will occur: (1) if present, the  ter-
                  minal's initialization strings will be output (is1,
                  is2, is3, if, iprog), (2) any  delays  (e.g.,  new-
                  line) specified in the entry will be set in the tty
                  driver, (3) tabs expansion will be turned on or off
                  according  to  the  specification in the entry, and
                  (4) if tabs are not expanded, standard tabs will be
                  set (every 8 spaces).  If an entry does not contain
                  the information needed for any of  the  four  above
                  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.

           longname
                  If  the  terminfo  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
                  the terminal's description in the terminfo database
                  [see term(5)].

           If tput is invoked by a link named  reset,  this  has  the
           same effect as tput reset.  See tset for comparison, which
           has similar behavior.

## 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
                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
                terminal in the environmental variable TERM.

           tput cup 0 0
                Send the sequence to move the cursor to row 0, column
                0 (the upper left corner of the screen, usually known
                as the "home" cursor position).

           tput clear
                Echo the clear-screen sequence for the current termi-
                nal.

           tput cols
                Print the number of columns for the current terminal.

           tput -T450 cols
                Print the number of columns for the 450 terminal.

           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:
                ${offbold}\c"

           tput hc
                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-
                umn 4.

           tput cup
                Send the terminfo string for cursor-movement, with no
                parameters substituted.

           tput longname
                Print the long name from the  terminfo  database  for
                the  type  of terminal specified in the environmental
                variable TERM.

                tput -S <<!
                > clear
                > cup 10 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
                exclamation mark (!) on a line by itself.

## FILES

           /usr/share/terminfo
                  compiled terminal description database

           /usr/include/curses.h
                  curses(3x) header file

           /usr/include/term.h
                  terminfo header file

           /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-
                  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 failed can be given so exit code 1 will never appear.
           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 ter-
                       minal type (nothing  is  written  to  standard
                       output).

                integer
                       a  value  of  0  is always set, whether or not
                       capname is defined for this terminal type.  To
                       determine  if capname is defined for this ter-
                       minal type, the user must test the value writ-
                       ten  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 respec-
                       tive files.  In that case, the  exit  code  is
                       set to 4 + errno.

           Any  other  exit code indicates an error; see the DIAGNOS-
           TICS section.

## DIAGNOSTICS

           tput prints the following error messages and sets the cor-
           responding exit codes.

           exit code   error message
           ---------------------------------------------------------------------
           0           (capname  is a numeric variable that is not specified in
                       the terminfo(1) 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
           3           unknown terminal type or no terminfo database
           4           unknown terminfo capability capname
           >4          error occurred in -S
           ---------------------------------------------------------------------

## PORTABILITY

           The  longname  and -S options, and the parameter-substitu-
           tion features used in the cup example, are  not  supported
           in BSD curses or in AT&T/USL curses before SVr4.

## SEE ALSO

           clear(1), stty(1), tabs(1), terminfo(5).

                                                              tput(1)