Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
tput(1)			    General Commands Manual		       tput(1)

       tput - initialize a terminal or query terminfo database

       tput [ -Ttype ] capname [ parm...]
       tput -S <<


       tput  uses  the terminfo	database to make the values of terminal-depen-
       dent capabilities and information available to the shell	 (see  sh(1));
       to  clear, initialize or	reset the terminal; or to return the long name
       of the requested	terminal type.	tput outputs a string if the  capabil-
       ity  attribute (capname)	is of type string, or an integer if the	attri-
       bute is of type integer.	 If the	attribute is  of  type	boolean,  tput
       simply  sets  the exit status (0	for TRUE if the	terminal has the capa-
       bility, 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 status ($?,	see sh(1)) to be sure it is 0.	See  the  EXIT	STATUS

       -Ttype	 Indicates  the	type of	terminal.  Normally this option	is un-
		 necessary, because the	default	is taken from the  environment
		 variable  TERM.  If -T	is specified, then the shell variables
		 LINES and COLUMNS and the layer size will not be referenced.

       -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 the example in the  EX-
		 AMPLES	 section).  Only one capname is	allowed	per line.  The
		 -S option changes the meaning of the  0  and  1  boolean  and
		 string	exit statuses (see the EXIT STATUS section).

       The following operands are supported:

       capname	   Indicates  the capability attribute from the	terminfo data-
		   base.  See terminfo(4) for a	complete list of  capabilities
		   and the capname associated with each.
		   The	following strings will be supported as operands	by the
		   implementation in the "C" locale:

		   clear       Display the clear-screen	sequence.

		   init	       If the terminfo database	is present and an  en-
			       try for the user's terminal exists (see -Ttype,
			       above), the following will occur:

			       (1)  if present,	the terminal's	initialization
				    strings will be output (is1, is2, is3, if,

			       (2)  any	delays (for instance, newline)	speci-
				    fied  in  the entry	will be	set in the tty

			       (3)  tabs expansion will	be turned  on  or  off
				    according  to the specification in the en-
				    try, 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	initialization strings will be
			       output.	 Otherwise,  reset acts	identically to

		   longname    If the terminfo database	is present and an  en-
			       try  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)).

       parm	   If the attribute is a string	that takes parameters, the ar-
		   gument parm will be instantiated into the string.   An  all
		   numeric  argument will be passed to the attribute as	a num-

       This example initializes	the terminal according to the type of terminal
       in  the	environment variable TERM.  This command should	be included in
       everyone's .profile after the environment variable TERM	has  been  ex-
       ported, as illustrated on the profile(4)	manual page.

	      example% tput init

       The  next  example resets an AT&T 5620 terminal,	overriding the type of
       terminal	in the environment variable TERM.

	      example% tput -T5620 reset

       The following example sends 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).

	      example% tput cup	0 0

       The next	example	echos the clear-screen sequence	for the	current	termi-

	      example% tput clear

       The next	command	prints the number of columns for the current terminal.

	      example% tput cols

       The  following  command prints the number of columns for	the 450	termi-

	      example% tput -T450 cols

       The next	example	sets 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"

	      example% bold=`tput smso`
	      example% offbold=`tput rmso`

       This example sets the exit status to indicate if	the  current  terminal
       is a hardcopy terminal.

	      example% tput hc

       This next example sends the sequence to move the	cursor to row 23, col-
       umn 4.

	      example% tput cup	23 4

       The next	command	prints the long	name from the  terminfo	 database  for
       the type	of terminal specified in the environment variable TERM.

	      example% tput longname

       This last example shows tput processing several capabilities in one in-
       vocation.  This example 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.

	      example% tput -S <<!
	      >	clear
	      >	cup 10 10
	      >	bold
	      >	!

       See environ(5) for descriptions of the following	environment  variables
       that affect the execution of tput: LC_CTYPE, LC_MESSAGES, and NLSPATH.

       TERM   Determine	the terminal type.  If this variable is	unset or null,
	      and if the -T option is not specified,  an  unspecified  default
	      terminal type will be used.

       The following exit values are returned:

       0      o	If capname is of type boolean and -S is	not
		specified, indicates TRUE.
	      o	If  capname  is	 of type string	and -S is not specified, indi-
		cates capname is defined for this terminal type.
	      o	If capname is of type boolean or string	and -S	is  specified,
		indicates that all lines were successful.
	      o	capname	is of type integer.
	      o	The requested string was written successfully.

       1      o	If capname is of type boolean and -S is	not
		specified, indicates FALSE.
	      o	If  capname  is	 fo type string	and -S is not specified, indi-
		cates that capname is not defined for this terminal type.

       2      Usage error.

       3      No information is	available about	the specified terminal type.

       4      The specified operand is invalid.

       >4     An error occurred.

       -1     capname is a numeric variable that is not	specified in the  ter-
	      minfo  database;	for instance, tput -T450 lines and tput	-T2621

       /usr/include/curses.h	curses(3X) header
       /usr/include/term.h	terminfo header
       /usr/lib/tabset/*	tab settings for some terminals, in  a	format
				appropriate  to	be output to the terminal (es-
				cape sequences that set	margins	and tabs); for
				more  information,  see	the "Tabs and Initial-
				ization" section of terminfo(4)
				compiled terminal description database

       clear(1), stty(1), tabs(1), profile(4), terminfo(4), environ(5)

				  1 Feb	1995			       tput(1)


Want to link to this manual page? Use this URL:

home | help