# 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.  The result depends upon  the  capability's
           type:

                  string
                       tput writes the string to the standard output.
                       No trailing newline is supplied.

                  integer
                       tput writes the decimal value to the  standard
                       output, with a trailing newline.

                  boolean
                       tput  simply sets the exit code (0 for TRUE if
                       the terminal has the capability, 1  for  FALSE
                       if  it  does  not),  and writes nothing to the
                       standard output.

           Before using a value returned on the standard output,  the
           application  should  test  the  exit  code  (e.g., $?, see
           sh(1)) to be sure it is 0.  (See the EXIT CODES and  DIAG-
           NOSTICS  sections.)   For  a complete list of capabilities
           and the capname associated with each, see terminfo(5).

           -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   capability   from   the  terminfo
                  database.  When termcap support is compiled in, the
                  termcap name for the capability is also accepted.

           parms  If  the  capability  is a string that takes parame-
                  ters, the arguments parms will be instantiated into
                  the string.

                  Most  parameters  are numbers.  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 capability, 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 param-
                  eters 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  terminal's  initialization
                         strings  will  be  output as detailed in the
                         terminfo(5) section on Tabs and  Initializa-
                         tion,

                  (2)    any  delays (e.g., newline) 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/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(5)  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.

           X/Open documents only the operands  for  clear,  init  and
           reset.   In this implementation, clear is part of the cap-
           name support.  Other implementations of tput on SVr4-based
           systems such as Solaris, IRIX64 and HPUX as well as others
           such  as  AIX  and  Tru64  provide  support  for   capname
           operands.  A few platforms such as FreeBSD and NetBSD rec-
           ognize termcap names rather than terminfo capability names
           in their respective tput commands.

## SEE ALSO

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

           This describes ncurses version 5.6 (patch 20081011).

                                                                    tput(1)