]> ncurses.scripts.mit.edu Git - ncurses.git/blob - doc/html/man/tput.1.html
858b9a59c08c4effbf18a66240eee6a9ffb73e77
[ncurses.git] / doc / html / man / tput.1.html
1 <!-- 
2   * t
3   ****************************************************************************
4   * Copyright (c) 1998-2012,2016 Free Software Foundation, Inc.              *
5   *                                                                          *
6   * Permission is hereby granted, free of charge, to any person obtaining a  *
7   * copy of this software and associated documentation files (the            *
8   * "Software"), to deal in the Software without restriction, including      *
9   * without limitation the rights to use, copy, modify, merge, publish,      *
10   * distribute, distribute with modifications, sublicense, and/or sell       *
11   * copies of the Software, and to permit persons to whom the Software is    *
12   * furnished to do so, subject to the following conditions:                 *
13   *                                                                          *
14   * The above copyright notice and this permission notice shall be included  *
15   * in all copies or substantial portions of the Software.                   *
16   *                                                                          *
17   * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  *
18   * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               *
19   * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   *
20   * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   *
21   * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    *
22   * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    *
23   * THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               *
24   *                                                                          *
25   * Except as contained in this notice, the name(s) of the above copyright   *
26   * holders shall not be used in advertising or otherwise to promote the     *
27   * sale, use or other dealings in this Software without prior written       *
28   * authorization.                                                           *
29   ****************************************************************************
30   * @Id: tput.1,v 1.46 2016/10/22 19:57:25 tom Exp @
31 -->
32 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
33 <HTML>
34 <HEAD>
35 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
36 <meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
37 <TITLE>tput 1</TITLE>
38 <link rev=made href="mailto:bug-ncurses@gnu.org">
39 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
40 </HEAD>
41 <BODY>
42 <H1 class="no-header">tput 1</H1>
43 <PRE>
44 <STRONG><A HREF="tput.1.html">tput(1)</A></STRONG>                                                         <STRONG><A HREF="tput.1.html">tput(1)</A></STRONG>
45
46
47
48
49 </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
50        <STRONG>tput</STRONG>,  <STRONG>reset</STRONG>  -  initialize  a  terminal or query terminfo
51        database
52
53
54 </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
55        <STRONG>tput</STRONG> [<STRONG>-T</STRONG><EM>type</EM>] <EM>capname</EM> [<EM>parameters</EM>]
56        <STRONG>tput</STRONG> [<STRONG>-T</STRONG><EM>type</EM>] <STRONG>clear</STRONG>
57        <STRONG>tput</STRONG> [<STRONG>-T</STRONG><EM>type</EM>] <STRONG>init</STRONG>
58        <STRONG>tput</STRONG> [<STRONG>-T</STRONG><EM>type</EM>] <STRONG>reset</STRONG>
59        <STRONG>tput</STRONG> [<STRONG>-T</STRONG><EM>type</EM>] <STRONG>longname</STRONG>
60        <STRONG>tput</STRONG> <STRONG>-S</STRONG>  <STRONG>&lt;&lt;</STRONG>
61        <STRONG>tput</STRONG> <STRONG>-V</STRONG>
62
63
64 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
65        The <STRONG>tput</STRONG> utility uses the <STRONG>terminfo</STRONG> database  to  make  the
66        values  of terminal-dependent capabilities and information
67        available to the shell (see <STRONG>sh(1)</STRONG>), to initialize or reset
68        the  terminal,  or  return  the long name of the requested
69        terminal type.  The result depends upon  the  capability's
70        type:
71
72           string
73                <STRONG>tput</STRONG> writes the string to the standard output.  No
74                trailing newline is supplied.
75
76           integer
77                <STRONG>tput</STRONG> writes the decimal value to the standard out-
78                put, with a trailing newline.
79
80           boolean
81                <STRONG>tput</STRONG>  simply sets the exit code (<STRONG>0</STRONG> for TRUE if the
82                terminal has the capability, <STRONG>1</STRONG>  for  FALSE  if  it
83                does not), and writes nothing to the standard out-
84                put.
85
86        Before using a value returned on the standard output,  the
87        application  should  test  the  exit  code  (e.g., <STRONG>$?</STRONG>, see
88        <STRONG>sh(1)</STRONG>) to be sure it is <STRONG>0</STRONG>.  (See the <STRONG>EXIT</STRONG> <STRONG>CODES</STRONG> and  <STRONG>DIAG-</STRONG>
89        <STRONG>NOSTICS</STRONG>  sections.)   For  a complete list of capabilities
90        and the <EM>capname</EM> associated with each, see <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
91
92
93 </PRE><H3><a name="h3-Options">Options</a></H3><PRE>
94        <STRONG>-T</STRONG><EM>type</EM> indicates the  <EM>type</EM>  of  terminal.   Normally  this
95               option is unnecessary, because the default is taken
96               from the environment variable <STRONG>TERM</STRONG>.  If <STRONG>-T</STRONG> is spec-
97               ified,  then  the shell variables <STRONG>LINES</STRONG> and <STRONG>COLUMNS</STRONG>
98               will also be ignored.
99
100        <STRONG>-S</STRONG>     allows more than one capability per  invocation  of
101               <STRONG>tput</STRONG>.  The capabilities must be passed to <STRONG>tput</STRONG> from
102               the standard input instead of from the command line
103               (see  example).   Only  one  <EM>capname</EM> is allowed per
104               line.  The <STRONG>-S</STRONG> option changes the meaning of  the  <STRONG>0</STRONG>
105               and  <STRONG>1</STRONG>  boolean and string exit codes (see the EXIT
106               CODES section).
107
108               Again, <STRONG>tput</STRONG> uses a table and the presence of param-
109               eters  in  its  input  to  decide  whether  to  use
110               <STRONG><A HREF="tparm.3x.html">tparm(3x)</A></STRONG>, and how to interpret the parameters.
111
112        <STRONG>-V</STRONG>     reports the version of ncurses which  was  used  in
113               this program, and exits.
114
115
116 </PRE><H3><a name="h3-Commands">Commands</a></H3><PRE>
117        <EM>capname</EM>
118               indicates  the  capability  from the <STRONG>terminfo</STRONG> data-
119               base.  When <STRONG>termcap</STRONG> support  is  compiled  in,  the
120               <STRONG>termcap</STRONG> name for the capability is also accepted.
121
122               If  the  capability  is a string that takes parame-
123               ters, the arguments following the  capability  will
124               be used as parameters for the string.
125
126               Most  parameters  are numbers.  Only a few terminfo
127               capabilities require string parameters; <STRONG>tput</STRONG> uses a
128               table to decide which to pass as strings.  Normally
129               <STRONG>tput</STRONG> uses <STRONG><A HREF="tparm.3x.html">tparm(3x)</A></STRONG> to  perform  the  substitution.
130               If no parameters are given for the capability, <STRONG>tput</STRONG>
131               writes the string without performing the  substitu-
132               tion.
133
134        <STRONG>init</STRONG>   If  the  <STRONG>terminfo</STRONG>  database is present and an entry
135               for the user's terminal exists (see <STRONG>-T</STRONG><EM>type</EM>, above),
136               the following will occur:
137
138               (1)  if   present,  the  terminal's  initialization
139                    strings will be output as detailed in the <STRONG>ter-</STRONG>
140                    <STRONG><A HREF="terminfo.5.html">minfo(5)</A></STRONG> section on <EM>Tabs</EM> <EM>and</EM> <EM>Initialization</EM>,
141
142               (2)  any  delays  (e.g.,  newline) specified in the
143                    entry will be set in the tty driver,
144
145               (3)  tabs  expansion  will  be  turned  on  or  off
146                    according  to  the specification in the entry,
147                    and
148
149               (4)  if tabs are not expanded, standard  tabs  will
150                    be set (every 8 spaces).
151
152               If an entry does not contain the information needed
153               for any of these  activities,  that  activity  will
154               silently be skipped.
155
156        <STRONG>reset</STRONG>  Instead  of putting out initialization strings, the
157               terminal's reset strings will be output if  present
158               (<STRONG>rs1</STRONG>,  <STRONG>rs2</STRONG>, <STRONG>rs3</STRONG>, <STRONG>rf</STRONG>).  If the reset strings are not
159               present, but initialization strings are,  the  ini-
160               tialization  strings  will  be  output.  Otherwise,
161               <STRONG>reset</STRONG> acts identically to <STRONG>init</STRONG>.
162
163        <STRONG>longname</STRONG>
164               If the <STRONG>terminfo</STRONG> database is present  and  an  entry
165               for  the user's terminal exists (see <STRONG>-T</STRONG><EM>type</EM> above),
166               then the long name of the terminal will be put out.
167               The long name is the last name in the first line of
168               the terminal's description in the <STRONG>terminfo</STRONG> database
169               [see <STRONG><A HREF="term.5.html">term(5)</A></STRONG>].
170
171
172 </PRE><H3><a name="h3-Aliases">Aliases</a></H3><PRE>
173        <STRONG>tput</STRONG> handles the <STRONG>clear</STRONG>, <STRONG>init</STRONG> and <STRONG>reset</STRONG> commands specially:
174        it allows for the possibility that it is invoked by a link
175        with those names.
176
177        If  <STRONG>tput</STRONG>  is  invoked  by a link named <STRONG>reset</STRONG>, this has the
178        same effect as  <STRONG>tput</STRONG>  <STRONG>reset</STRONG>.   The  <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>  utility  also
179        treats a link named <STRONG>reset</STRONG> specially.
180
181        Before  ncurses 6.1, the two utilities were different from
182        each other:
183
184        <STRONG>o</STRONG>   <STRONG>tset</STRONG> utility reset  the  terminal  modes  and  special
185            characters (not done with <STRONG>tput</STRONG>).
186
187        <STRONG>o</STRONG>   On the other hand, <STRONG>tset</STRONG>'s repertoire of terminal capa-
188            bilities for resetting the terminal was more  limited,
189            i.e., only <STRONG>reset_1string</STRONG>, <STRONG>reset_2string</STRONG> and <STRONG>reset_file</STRONG>
190            in contrast to the tab-stops and margins which are set
191            by this utility.
192
193        <STRONG>o</STRONG>   The  <STRONG>reset</STRONG>  program  is  usually  an  alias  for <STRONG>tset</STRONG>,
194            because of this  difference  with  resetting  terminal
195            modes and special characters.
196
197        If <STRONG>tput</STRONG> is invoked by a link named <STRONG>init</STRONG>, this has the same
198        effect as <STRONG>tput</STRONG> <STRONG>init</STRONG>.  Again, you are less  likely  to  use
199        that  link  because  another program named <STRONG>init</STRONG> has a more
200        well-established use.
201
202
203 </PRE><H2><a name="h2-EXAMPLES">EXAMPLES</a></H2><PRE>
204        <STRONG>tput</STRONG> <STRONG>init</STRONG>
205             Initialize the terminal according to the type of ter-
206             minal  in the environmental variable <STRONG>TERM</STRONG>.  This com-
207             mand should be included in everyone's .profile  after
208             the environmental variable <STRONG>TERM</STRONG> has been exported, as
209             illustrated on the <STRONG>profile(5)</STRONG> manual page.
210
211        <STRONG>tput</STRONG> <STRONG>-T5620</STRONG> <STRONG>reset</STRONG>
212             Reset an AT&amp;T 5620 terminal, overriding the  type  of
213             terminal in the environmental variable <STRONG>TERM</STRONG>.
214
215        <STRONG>tput</STRONG> <STRONG>cup</STRONG> <STRONG>0</STRONG> <STRONG>0</STRONG>
216             Send the sequence to move the cursor to row <STRONG>0</STRONG>, column
217             <STRONG>0</STRONG> (the upper left corner of the screen, usually known
218             as the "home" cursor position).
219
220        <STRONG>tput</STRONG> <STRONG>clear</STRONG>
221             Echo the clear-screen sequence for the current termi-
222             nal.
223
224        <STRONG>tput</STRONG> <STRONG>cols</STRONG>
225             Print the number of columns for the current terminal.
226
227        <STRONG>tput</STRONG> <STRONG>-T450</STRONG> <STRONG>cols</STRONG>
228             Print the number of columns for the 450 terminal.
229
230        <STRONG>bold=`tput</STRONG> <STRONG>smso`</STRONG> <STRONG>offbold=`tput</STRONG> <STRONG>rmso`</STRONG>
231             Set the shell variables <STRONG>bold</STRONG>, to begin stand-out mode
232             sequence, and <STRONG>offbold</STRONG>, to end standout mode sequence,
233             for the current terminal.  This might be followed  by
234             a  prompt:  <STRONG>echo</STRONG>  <STRONG>"${bold}Please</STRONG>  <STRONG>type</STRONG>  <STRONG>in</STRONG> <STRONG>your</STRONG> <STRONG>name:</STRONG>
235             <STRONG>${offbold}\c"</STRONG>
236
237        <STRONG>tput</STRONG> <STRONG>hc</STRONG>
238             Set exit code to indicate if the current terminal  is
239             a hard copy terminal.
240
241        <STRONG>tput</STRONG> <STRONG>cup</STRONG> <STRONG>23</STRONG> <STRONG>4</STRONG>
242             Send  the sequence to move the cursor to row 23, col-
243             umn 4.
244
245        <STRONG>tput</STRONG> <STRONG>cup</STRONG>
246             Send the terminfo string for cursor-movement, with no
247             parameters substituted.
248
249        <STRONG>tput</STRONG> <STRONG>longname</STRONG>
250             Print  the  long  name from the <STRONG>terminfo</STRONG> database for
251             the type of terminal specified in  the  environmental
252             variable <STRONG>TERM</STRONG>.
253
254             <STRONG>tput</STRONG> <STRONG>-S</STRONG> <STRONG>&lt;&lt;!</STRONG>
255             <STRONG>&gt;</STRONG> <STRONG>clear</STRONG>
256             <STRONG>&gt;</STRONG> <STRONG>cup</STRONG> <STRONG>10</STRONG> <STRONG>10</STRONG>
257             <STRONG>&gt;</STRONG> <STRONG>bold</STRONG>
258             <STRONG>&gt;</STRONG> <STRONG>!</STRONG>
259
260             This  example shows <STRONG>tput</STRONG> processing several capabili-
261             ties in one invocation.  It clears the screen,  moves
262             the  cursor  to  position  10,  10  and turns on bold
263             (extra bright) mode.  The list is  terminated  by  an
264             exclamation mark (<STRONG>!</STRONG>) on a line by itself.
265
266
267 </PRE><H2><a name="h2-FILES">FILES</a></H2><PRE>
268        <STRONG>/usr/share/terminfo</STRONG>
269               compiled terminal description database
270
271        <STRONG>/usr/share/tabset/*</STRONG>
272               tab settings for some terminals, in a format appro-
273               priate  to  be  output  to  the  terminal   (escape
274               sequences  that  set  margins  and  tabs); for more
275               information, see the <EM>Tabs</EM> <EM>and</EM> <EM>Initialization</EM>,  sec-
276               tion of <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
277
278
279 </PRE><H2><a name="h2-EXIT-CODES">EXIT CODES</a></H2><PRE>
280        If the <STRONG>-S</STRONG> option is used, <STRONG>tput</STRONG> checks for errors from each
281        line, and if any errors are found, will set the exit  code
282        to  4  plus the number of lines with errors.  If no errors
283        are found, the exit code is <STRONG>0</STRONG>.   No  indication  of  which
284        line failed can be given so exit code <STRONG>1</STRONG> will never appear.
285        Exit codes <STRONG>2</STRONG>, <STRONG>3</STRONG>, and <STRONG>4</STRONG> retain their usual  interpretation.
286        If the <STRONG>-S</STRONG> option is not used, the exit code depends on the
287        type of <EM>capname</EM>:
288
289           <EM>boolean</EM>
290                  a value of <STRONG>0</STRONG> is set for TRUE and <STRONG>1</STRONG> for FALSE.
291
292           <EM>string</EM> a value of <STRONG>0</STRONG> is set if the  <EM>capname</EM>  is  defined
293                  for  this terminal <EM>type</EM> (the value of <EM>capname</EM> is
294                  returned on standard output); a value  of  <STRONG>1</STRONG>  is
295                  set  if <EM>capname</EM> is not defined for this terminal
296                  <EM>type</EM> (nothing is written to standard output).
297
298           <EM>integer</EM>
299                  a value of <STRONG>0</STRONG> is always set, whether or not  <EM>cap-</EM>
300                  <EM>name</EM>  is  defined  for  this  terminal <EM>type</EM>.  To
301                  determine if <EM>capname</EM> is defined for this  termi-
302                  nal  <EM>type</EM>,  the user must test the value written
303                  to standard output.  A value of  <STRONG>-1</STRONG>  means  that
304                  <EM>capname</EM> is not defined for this terminal <EM>type</EM>.
305
306           <EM>other</EM>  <STRONG>reset</STRONG>  or <STRONG>init</STRONG> may fail to find their respective
307                  files.  In that case, the exit code is set to  4
308                  + <STRONG>errno</STRONG>.
309
310        Any  other  exit code indicates an error; see the DIAGNOS-
311        TICS section.
312
313
314 </PRE><H2><a name="h2-DIAGNOSTICS">DIAGNOSTICS</a></H2><PRE>
315        <STRONG>tput</STRONG> prints the following error messages and sets the cor-
316        responding exit codes.
317
318        exit code   error message
319        ---------------------------------------------------------------------
320        <STRONG>0</STRONG>           (<EM>capname</EM>  is a numeric variable that is not specified in
321                    the <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> database for this  terminal  type,  e.g.
322                    <STRONG>tput</STRONG> <STRONG>-T450</STRONG> <STRONG>lines</STRONG> and <STRONG>tput</STRONG> <STRONG>-T2621</STRONG> <STRONG>xmc</STRONG>)
323        <STRONG>1</STRONG>           no error message is printed, see the <STRONG>EXIT</STRONG> <STRONG>CODES</STRONG> section.
324        <STRONG>2</STRONG>           usage error
325        <STRONG>3</STRONG>           unknown terminal <EM>type</EM> or no <STRONG>terminfo</STRONG> database
326        <STRONG>4</STRONG>           unknown <STRONG>terminfo</STRONG> capability <EM>capname</EM>
327        <STRONG>&gt;4</STRONG>          error occurred in -S
328        ---------------------------------------------------------------------
329
330
331 </PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
332        The  <STRONG>tput</STRONG> command was begun by Bill Joy in 1980.  The ini-
333        tial version only cleared the screen.
334
335        AT&amp;T System V provided a  different  <STRONG>tput</STRONG>  command,  whose
336        <STRONG>init</STRONG>  and  <STRONG>reset</STRONG>  subcommands (more than half the program)
337        were incorporated from the <STRONG>reset</STRONG> feature of BSD <STRONG>tset</STRONG> writ-
338        ten  by  Eric Allman.  Later the corresponding source code
339        for <EM>reset</EM> was removed from the BSD  <STRONG>tset</STRONG>  (in  June  1993,
340        released in 4.4BSD-Lite a year later).
341
342        Keith  Bostic replaced the BSD <STRONG>tput</STRONG> command in 1989 with a
343        new implementation based on  the  AT&amp;T  System  V  program
344        <STRONG>tput</STRONG>.   Like  the  AT&amp;T program, Bostic's version accepted
345        some parameters named for  <EM>terminfo</EM>  <EM>capabilities</EM>  (<STRONG>clear</STRONG>,
346        <STRONG>init</STRONG>,  <STRONG>longname</STRONG>  and <STRONG>reset</STRONG>).  However (because he had only
347        termcap available), it accepted <EM>termcap</EM>  <EM>names</EM>  for  other
348        capabilities.   Also, Bostic's BSD <STRONG>tput</STRONG> did not modify the
349        terminal I/O modes as the earlier BSD <STRONG>tset</STRONG> had done.
350
351        At the same  time,  Bostic  added  a  shell  script  named
352        "clear", which used <STRONG>tput</STRONG> to clear the screen.
353
354        Both  of  these  appeared in 4.4BSD, becoming the "modern"
355        BSD implementation of <STRONG>tput</STRONG>.
356
357
358 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
359        This implementation of <STRONG>tput</STRONG> differs from AT&amp;T <STRONG>tput</STRONG> in  two
360        important areas:
361
362        <STRONG>o</STRONG>   <STRONG>tput</STRONG> <EM>capname</EM> writes to the standard output.  That need
363            not be a regular terminal.  However,  the  subcommands
364            which  manipulate terminal modes may not use the stan-
365            dard output.
366
367            The AT&amp;T implementation's <STRONG>init</STRONG> and <STRONG>reset</STRONG> commands  use
368            the BSD (4.1c) <STRONG>tset</STRONG> source, which manipulates terminal
369            modes.  It successively tries standard  output,  stan-
370            dard  error,  standard  input  before  falling back to
371            "/dev/tty" and finally just assumes a 1200Bd terminal.
372            When updating terminal modes, it ignores errors.
373
374            Until  changes  made  after  ncurses 6.0, <STRONG>tput</STRONG> did not
375            modify  terminal  modes.   <STRONG>tput</STRONG>  now  uses  a  similar
376            scheme,  using  functions  shared with <STRONG>tset</STRONG> (and ulti-
377            mately based on the 4.4BSD <STRONG>tset</STRONG>).  If it is  not  able
378            to  open  a terminal, e.g., when running in <STRONG>cron</STRONG>, <STRONG>tput</STRONG>
379            will return an error.
380
381        <STRONG>o</STRONG>   AT&amp;T <STRONG>tput</STRONG> guesses the type of its <EM>capname</EM> operands  by
382            seeing if all of the characters are numeric, or not.
383
384            Most implementations which provide support for <EM>capname</EM>
385            operands use the <EM>tparm</EM> function to  expand  parameters
386            in it.  That function expects a mixture of numeric and
387            string parameters, requiring <STRONG>tput</STRONG> to know  which  type
388            to use.
389
390            This  implementation  uses  a  table  to determine the
391            parameter types for the standard <EM>capname</EM> operands, and
392            an  internal  library  function to analyze nonstandard
393            <EM>capname</EM> operands.
394
395        The <STRONG>longname</STRONG> and <STRONG>-S</STRONG> options, and  the  parameter-substitu-
396        tion  features used in the <STRONG>cup</STRONG> example, were not supported
397        in BSD curses before 4.3reno (1989) or in AT&amp;T/USL  curses
398        before SVr4 (1988).
399
400        IEEE  Std 1003.1/The Open Group  Base Specifications Issue
401        7 (POSIX.1-2008) documents only the  operands  for  <STRONG>clear</STRONG>,
402        <STRONG>init</STRONG>  and <STRONG>reset</STRONG>.  There are a few interesting observations
403        to make regarding that:
404
405        <STRONG>o</STRONG>   In this implementation, <STRONG>clear</STRONG> is part of  the  <EM>capname</EM>
406            support.  The others (<STRONG>init</STRONG> and <STRONG>longname</STRONG>) do not corre-
407            spond to terminal capabilities.
408
409        <STRONG>o</STRONG>   Other implementations of <STRONG>tput</STRONG>  on  SVr4-based  systems
410            such  as  Solaris,  IRIX64  and HPUX as well as others
411            such as AIX and Tru64 provide support for <EM>capname</EM>  op-
412            erands.
413
414        <STRONG>o</STRONG>   A  few  platforms  such  as  FreeBSD recognize termcap
415            names rather than terminfo capability names  in  their
416            respective  <STRONG>tput</STRONG>  commands.  Since 2010, NetBSD's <STRONG>tput</STRONG>
417            uses terminfo names.  Before that, it  (like  FreeBSD)
418            recognized termcap names.
419
420        Because  (apparently)  <EM>all</EM>  of  the certified Unix systems
421        support the full set of capability  names,  the  reasoning
422        for documenting only a few may not be apparent.
423
424        <STRONG>o</STRONG>   X/Open Curses Issue 7 documents <STRONG>tput</STRONG> differently, with
425            <EM>capname</EM> and the other features used in this  implemen-
426            tation.
427
428        <STRONG>o</STRONG>   That  is,  there  are two standards for <STRONG>tput</STRONG>: POSIX (a
429            subset) and X/Open Curses (the  full  implementation).
430            POSIX  documents a subset to avoid the complication of
431            including X/Open Curses and the terminal  capabilities
432            database.
433
434        <STRONG>o</STRONG>   While it is certainly possible to write a <STRONG>tput</STRONG> program
435            without using curses, none of the systems which have a
436            curses  implementation  provide  a  <STRONG>tput</STRONG> utility which
437            does not provide the <EM>capname</EM> feature.
438
439
440 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
441        <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>,
442        <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>.
443
444        This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20161231).
445
446
447
448                                                                 <STRONG><A HREF="tput.1.html">tput(1)</A></STRONG>
449 </PRE>
450 <div class="nav">
451 <ul>
452 <li><a href="#h2-NAME">NAME</a></li>
453 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
454 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
455 <ul>
456 <li><a href="#h3-Options">Options</a></li>
457 <li><a href="#h3-Commands">Commands</a></li>
458 <li><a href="#h3-Aliases">Aliases</a></li>
459 </ul>
460 </li>
461 <li><a href="#h2-EXAMPLES">EXAMPLES</a></li>
462 <li><a href="#h2-FILES">FILES</a></li>
463 <li><a href="#h2-EXIT-CODES">EXIT CODES</a></li>
464 <li><a href="#h2-DIAGNOSTICS">DIAGNOSTICS</a></li>
465 <li><a href="#h2-HISTORY">HISTORY</a></li>
466 <li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
467 <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
468 </ul>
469 </div>
470 </BODY>
471 </HTML>