ncurses 6.0 - patch 20160910
[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.44 2016/08/20 23:40:31 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>init</STRONG>  and <STRONG>reset</STRONG> commands specially: it
174        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        <STRONG>o</STRONG>   That  utility  resets  the  terminal modes and special
182            characters (not done here).
183
184        <STRONG>o</STRONG>   On the other hand, tset's repertoire of terminal capa-
185            bilities  for  resetting the terminal is more limited,
186            i.e., only <STRONG>reset_1string</STRONG>, <STRONG>reset_2string</STRONG> and <STRONG>reset_file</STRONG>
187            in contrast to the tab-stops and margins which are set
188            by this utility.
189
190        <STRONG>o</STRONG>   The <STRONG>reset</STRONG> program is usually an alias for tset, due to
191            the  resetting  of  terminal modes and special charac-
192            ters.
193
194        If <STRONG>tput</STRONG> is invoked by a link named <STRONG>init</STRONG>, this has the same
195        effect  as  <STRONG>tput</STRONG>  <STRONG>init</STRONG>.  Again, you are less likely to use
196        that link because another program named <STRONG>init</STRONG>  has  a  more
197        well-established use.
198
199
200 </PRE><H2><a name="h2-EXAMPLES">EXAMPLES</a></H2><PRE>
201        <STRONG>tput</STRONG> <STRONG>init</STRONG>
202             Initialize the terminal according to the type of ter-
203             minal in the environmental variable <STRONG>TERM</STRONG>.  This  com-
204             mand  should be included in everyone's .profile after
205             the environmental variable <STRONG>TERM</STRONG> has been exported, as
206             illustrated on the <STRONG>profile(5)</STRONG> manual page.
207
208        <STRONG>tput</STRONG> <STRONG>-T5620</STRONG> <STRONG>reset</STRONG>
209             Reset  an  AT&amp;T 5620 terminal, overriding the type of
210             terminal in the environmental variable <STRONG>TERM</STRONG>.
211
212        <STRONG>tput</STRONG> <STRONG>cup</STRONG> <STRONG>0</STRONG> <STRONG>0</STRONG>
213             Send the sequence to move the cursor to row <STRONG>0</STRONG>, column
214             <STRONG>0</STRONG> (the upper left corner of the screen, usually known
215             as the "home" cursor position).
216
217        <STRONG>tput</STRONG> <STRONG>clear</STRONG>
218             Echo the clear-screen sequence for the current termi-
219             nal.
220
221        <STRONG>tput</STRONG> <STRONG>cols</STRONG>
222             Print the number of columns for the current terminal.
223
224        <STRONG>tput</STRONG> <STRONG>-T450</STRONG> <STRONG>cols</STRONG>
225             Print the number of columns for the 450 terminal.
226
227        <STRONG>bold=`tput</STRONG> <STRONG>smso`</STRONG> <STRONG>offbold=`tput</STRONG> <STRONG>rmso`</STRONG>
228             Set the shell variables <STRONG>bold</STRONG>, to begin stand-out mode
229             sequence, and <STRONG>offbold</STRONG>, to end standout mode sequence,
230             for  the current terminal.  This might be followed by
231             a prompt: <STRONG>echo</STRONG>  <STRONG>"${bold}Please</STRONG>  <STRONG>type</STRONG>  <STRONG>in</STRONG>  <STRONG>your</STRONG>  <STRONG>name:</STRONG>
232             <STRONG>${offbold}\c"</STRONG>
233
234        <STRONG>tput</STRONG> <STRONG>hc</STRONG>
235             Set  exit code to indicate if the current terminal is
236             a hard copy terminal.
237
238        <STRONG>tput</STRONG> <STRONG>cup</STRONG> <STRONG>23</STRONG> <STRONG>4</STRONG>
239             Send the sequence to move the cursor to row 23,  col-
240             umn 4.
241
242        <STRONG>tput</STRONG> <STRONG>cup</STRONG>
243             Send the terminfo string for cursor-movement, with no
244             parameters substituted.
245
246        <STRONG>tput</STRONG> <STRONG>longname</STRONG>
247             Print the long name from the  <STRONG>terminfo</STRONG>  database  for
248             the  type  of terminal specified in the environmental
249             variable <STRONG>TERM</STRONG>.
250
251             <STRONG>tput</STRONG> <STRONG>-S</STRONG> <STRONG>&lt;&lt;!</STRONG>
252             <STRONG>&gt;</STRONG> <STRONG>clear</STRONG>
253             <STRONG>&gt;</STRONG> <STRONG>cup</STRONG> <STRONG>10</STRONG> <STRONG>10</STRONG>
254             <STRONG>&gt;</STRONG> <STRONG>bold</STRONG>
255             <STRONG>&gt;</STRONG> <STRONG>!</STRONG>
256
257             This example shows <STRONG>tput</STRONG> processing several  capabili-
258             ties  in one invocation.  It clears the screen, moves
259             the cursor to position  10,  10  and  turns  on  bold
260             (extra  bright)  mode.   The list is terminated by an
261             exclamation mark (<STRONG>!</STRONG>) on a line by itself.
262
263
264 </PRE><H2><a name="h2-FILES">FILES</a></H2><PRE>
265        <STRONG>/usr/share/terminfo</STRONG>
266               compiled terminal description database
267
268        <STRONG>/usr/share/tabset/*</STRONG>
269               tab settings for some terminals, in a format appro-
270               priate   to  be  output  to  the  terminal  (escape
271               sequences that set  margins  and  tabs);  for  more
272               information,  see the <EM>Tabs</EM> <EM>and</EM> <EM>Initialization</EM>, sec-
273               tion of <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
274
275
276 </PRE><H2><a name="h2-EXIT-CODES">EXIT CODES</a></H2><PRE>
277        If the <STRONG>-S</STRONG> option is used, <STRONG>tput</STRONG> checks for errors from each
278        line,  and if any errors are found, will set the exit code
279        to 4 plus the number of lines with errors.  If  no  errors
280        are  found,  the  exit  code is <STRONG>0</STRONG>.  No indication of which
281        line failed can be given so exit code <STRONG>1</STRONG> will never appear.
282        Exit  codes <STRONG>2</STRONG>, <STRONG>3</STRONG>, and <STRONG>4</STRONG> retain their usual interpretation.
283        If the <STRONG>-S</STRONG> option is not used, the exit code depends on the
284        type of <EM>capname</EM>:
285
286           <EM>boolean</EM>
287                  a value of <STRONG>0</STRONG> is set for TRUE and <STRONG>1</STRONG> for FALSE.
288
289           <EM>string</EM> a  value  of  <STRONG>0</STRONG> is set if the <EM>capname</EM> is defined
290                  for this terminal <EM>type</EM> (the value of <EM>capname</EM>  is
291                  returned  on  standard  output); a value of <STRONG>1</STRONG> is
292                  set if <EM>capname</EM> is not defined for this  terminal
293                  <EM>type</EM> (nothing is written to standard output).
294
295           <EM>integer</EM>
296                  a  value of <STRONG>0</STRONG> is always set, whether or not <EM>cap-</EM>
297                  <EM>name</EM> is defined  for  this  terminal  <EM>type</EM>.   To
298                  determine  if <EM>capname</EM> is defined for this termi-
299                  nal <EM>type</EM>, the user must test the  value  written
300                  to  standard  output.   A value of <STRONG>-1</STRONG> means that
301                  <EM>capname</EM> is not defined for this terminal <EM>type</EM>.
302
303           <EM>other</EM>  <STRONG>reset</STRONG> or <STRONG>init</STRONG> may fail to find their  respective
304                  files.   In that case, the exit code is set to 4
305                  + <STRONG>errno</STRONG>.
306
307        Any other exit code indicates an error; see  the  DIAGNOS-
308        TICS section.
309
310
311 </PRE><H2><a name="h2-DIAGNOSTICS">DIAGNOSTICS</a></H2><PRE>
312        <STRONG>tput</STRONG> prints the following error messages and sets the cor-
313        responding exit codes.
314
315        exit code   error message
316        ---------------------------------------------------------------------
317        <STRONG>0</STRONG>           (<EM>capname</EM> is a numeric variable that is not specified  in
318                    the  <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>  database  for this terminal type, e.g.
319                    <STRONG>tput</STRONG> <STRONG>-T450</STRONG> <STRONG>lines</STRONG> and <STRONG>tput</STRONG> <STRONG>-T2621</STRONG> <STRONG>xmc</STRONG>)
320        <STRONG>1</STRONG>           no error message is printed, see the <STRONG>EXIT</STRONG> <STRONG>CODES</STRONG> section.
321        <STRONG>2</STRONG>           usage error
322        <STRONG>3</STRONG>           unknown terminal <EM>type</EM> or no <STRONG>terminfo</STRONG> database
323        <STRONG>4</STRONG>           unknown <STRONG>terminfo</STRONG> capability <EM>capname</EM>
324        <STRONG>&gt;4</STRONG>          error occurred in -S
325        ---------------------------------------------------------------------
326
327
328 </PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
329        The <STRONG>tput</STRONG> command was begun by Bill Joy in 1980.  The  ini-
330        tial version only cleared the screen.
331
332        AT&amp;T  System  V  provided  a different <STRONG>tput</STRONG> command, whose
333        <STRONG>init</STRONG> and <STRONG>reset</STRONG>  subcommands (more than half  the  program)
334        were incorporated from the <STRONG>reset</STRONG> feature of BSD <STRONG>tset</STRONG> writ-
335        ten by Eric Allman.  Later the corresponding  source  code
336        for  <EM>reset</EM>  was  removed  from the BSD <STRONG>tset</STRONG> (in June 1993,
337        released in 4.4BSD-Lite a year later).
338
339        Keith Bostic replaced the BSD <STRONG>tput</STRONG> command in 1989 with  a
340        new  implementation  based  on  the  AT&amp;T System V program
341        <STRONG>tput</STRONG>.  Like the AT&amp;T program,  Bostic's  version  accepted
342        some  parameters  named  for <EM>terminfo</EM> <EM>capabilities</EM> (<STRONG>clear</STRONG>,
343        <STRONG>init</STRONG>, <STRONG>longname</STRONG> and <STRONG>reset</STRONG>).  However (because he  had  only
344        termcap  available),  it  accepted <EM>termcap</EM> <EM>names</EM> for other
345        capabilities.  Also, Bostic's BSD <STRONG>tput</STRONG> did not modify  the
346        terminal I/O modes as the earlier BSD <STRONG>tset</STRONG> had done.
347
348        At  the  same  time,  Bostic  added  a  shell script named
349        "clear", which used <STRONG>tput</STRONG> to clear the screen.
350
351        Both of these appeared in 4.4BSD,  becoming  the  "modern"
352        BSD implementation of <STRONG>tput</STRONG>.
353
354
355 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
356        This  implementation of <STRONG>tput</STRONG> differs from AT&amp;T <STRONG>tput</STRONG> in two
357        important areas:
358
359        <STRONG>o</STRONG>   tput <EM>capname</EM> writes to the standard output.  That need
360            not  be  a regular terminal.  However, the subcommands
361            which manipulate terminal modes may not use the  stan-
362            dard output.
363
364            The  AT&amp;T implementation's <STRONG>init</STRONG> and <STRONG>reset</STRONG> commands use
365            the BSD (4.1c) <STRONG>tset</STRONG> source, which manipulates terminal
366            modes.   It  successively tries standard output, stan-
367            dard error, standard  input  before  falling  back  to
368            "/dev/tty" and finally just assumes a 1200Bd terminal.
369            When updating terminal modes, it ignores errors.
370
371            Until changes made after ncurses  6.0,  tput  did  not
372            modify  terminal  modes.   tput  now  uses  a  similar
373            scheme, using functions shared with  tset  (and  ulti-
374            mately  based  on the 4.4BSD <STRONG>tset</STRONG>).  If it is not able
375            to open a terminal, e.g., when running in  <STRONG>cron</STRONG>,  tput
376            will return an error.
377
378        <STRONG>o</STRONG>   AT&amp;T  <STRONG>tput</STRONG> guesses the type of its <EM>capname</EM> operands by
379            seeing if all of the characters are numeric, or not.
380
381            Most implementations which provide support for <EM>capname</EM>
382            operands  use  the <EM>tparm</EM> function to expand parameters
383            in it.  That function expects a mixture of numeric and
384            string  parameters,  requiring <STRONG>tput</STRONG> to know which type
385            to use.
386
387            This implementation uses  a  table  to  determine  the
388            parameter types for the standard <EM>capname</EM> operands, and
389            an internal library function  to  analyze  nonstandard
390            <EM>capname</EM> operands.
391
392        The  <STRONG>longname</STRONG>  and <STRONG>-S</STRONG> options, and the parameter-substitu-
393        tion features used in the <STRONG>cup</STRONG> example, were not  supported
394        in  BSD curses before 4.3reno (1989) or in AT&amp;T/USL curses
395        before SVr4 (1988).
396
397        IEEE Std 1003.1/The Open Group  Base Specifications  Issue
398        7  (POSIX.1-2008)  documents  only the operands for <STRONG>clear</STRONG>,
399        <STRONG>init</STRONG> and <STRONG>reset</STRONG>.  There are a few interesting  observations
400        to make regarding that:
401
402        <STRONG>o</STRONG>   In  this  implementation, <STRONG>clear</STRONG> is part of the <EM>capname</EM>
403            support.  The others (<STRONG>init</STRONG> and <STRONG>longname</STRONG>) do not corre-
404            spond to terminal capabilities.
405
406        <STRONG>o</STRONG>   Other  implementations  of  <STRONG>tput</STRONG> on SVr4-based systems
407            such as Solaris, IRIX64 and HPUX  as  well  as  others
408            such  as AIX and Tru64 provide support for <EM>capname</EM> op-
409            erands.
410
411        <STRONG>o</STRONG>   A few platforms  such  as  FreeBSD  recognize  termcap
412            names  rather  than terminfo capability names in their
413            respective <STRONG>tput</STRONG> commands.  Since 2010,  NetBSD's  <STRONG>tput</STRONG>
414            uses  terminfo  names.  Before that, it (like FreeBSD)
415            recognized termcap names.
416
417        Because (apparently) <EM>all</EM> of  the  certified  Unix  systems
418        support  the  full  set of capability names, the reasoning
419        for documenting only a few may not be apparent.
420
421        <STRONG>o</STRONG>   X/Open Curses Issue 7 documents <STRONG>tput</STRONG> differently, with
422            <EM>capname</EM>  and the other features used in this implemen-
423            tation.
424
425        <STRONG>o</STRONG>   That is, there are two standards for  <STRONG>tput</STRONG>:  POSIX  (a
426            subset)  and  X/Open Curses (the full implementation).
427            POSIX documents a subset to avoid the complication  of
428            including  X/Open Curses and the terminal capabilities
429            database.
430
431        <STRONG>o</STRONG>   While it is certainly possible to write a <STRONG>tput</STRONG> program
432            without using curses, none of the systems which have a
433            curses implementation provide  a  <STRONG>tput</STRONG>  utility  which
434            does not provide the <EM>capname</EM> feature.
435
436
437 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
438        <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>,
439        <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>.
440
441        This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20160910).
442
443
444
445                                                                 <STRONG><A HREF="tput.1.html">tput(1)</A></STRONG>
446 </PRE>
447 <div class="nav">
448 <ul>
449 <li><a href="#h2-NAME">NAME</a></li>
450 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
451 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
452 <ul>
453 <li><a href="#h3-Options">Options</a></li>
454 <li><a href="#h3-Commands">Commands</a></li>
455 <li><a href="#h3-Aliases">Aliases</a></li>
456 </ul>
457 </li>
458 <li><a href="#h2-EXAMPLES">EXAMPLES</a></li>
459 <li><a href="#h2-FILES">FILES</a></li>
460 <li><a href="#h2-EXIT-CODES">EXIT CODES</a></li>
461 <li><a href="#h2-DIAGNOSTICS">DIAGNOSTICS</a></li>
462 <li><a href="#h2-HISTORY">HISTORY</a></li>
463 <li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
464 <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
465 </ul>
466 </div>
467 </BODY>
468 </HTML>