Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 1 | <!-- |
| 2 | * t |
| 3 | **************************************************************************** |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 4 | * Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. * |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 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 | **************************************************************************** |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 30 | * @Id: tput.1,v 1.32 2012/07/14 21:06:45 tom Exp @ |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 31 | --> |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 32 | <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 33 | <HTML> |
| 34 | <HEAD> |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 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"> |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 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> |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 42 | <H1 class="no-header">tput 1</H1> |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 43 | <PRE> |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 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> |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 50 | <H2><a name="h2-NAME">NAME</a></H2><PRE> |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 51 | <STRONG>tput</STRONG>, <STRONG>reset</STRONG> - initialize a terminal or query terminfo |
| 52 | database |
| 53 | |
| 54 | |
| 55 | </PRE> |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 56 | <H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE> |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 57 | <STRONG>tput</STRONG> [<STRONG>-T</STRONG><EM>type</EM>] <EM>capname</EM> [<EM>parms</EM> ... ] |
| 58 | <STRONG>tput</STRONG> [<STRONG>-T</STRONG><EM>type</EM>] <STRONG>init</STRONG> |
| 59 | <STRONG>tput</STRONG> [<STRONG>-T</STRONG><EM>type</EM>] <STRONG>reset</STRONG> |
| 60 | <STRONG>tput</STRONG> [<STRONG>-T</STRONG><EM>type</EM>] <STRONG>longname</STRONG> |
| 61 | <STRONG>tput</STRONG> <STRONG>-S</STRONG> <STRONG><<</STRONG> |
| 62 | <STRONG>tput</STRONG> <STRONG>-V</STRONG> |
| 63 | |
| 64 | |
| 65 | </PRE> |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 66 | <H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE> |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 67 | The <STRONG>tput</STRONG> utility uses the <STRONG>terminfo</STRONG> database to make the |
| 68 | values of terminal-dependent capabilities and information |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 69 | available to the shell (see <STRONG>sh(1)</STRONG>), to initialize or reset |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 70 | the terminal, or return the long name of the requested |
| 71 | terminal type. The result depends upon the capability's |
| 72 | type: |
| 73 | |
| 74 | string |
| 75 | <STRONG>tput</STRONG> writes the string to the standard output. |
| 76 | No trailing newline is supplied. |
| 77 | |
| 78 | integer |
| 79 | <STRONG>tput</STRONG> writes the decimal value to the standard |
| 80 | output, with a trailing newline. |
| 81 | |
| 82 | boolean |
| 83 | <STRONG>tput</STRONG> simply sets the exit code (<STRONG>0</STRONG> for TRUE if |
| 84 | the terminal has the capability, <STRONG>1</STRONG> for FALSE |
| 85 | if it does not), and writes nothing to the |
| 86 | standard output. |
| 87 | |
| 88 | Before using a value returned on the standard output, the |
| 89 | application should test the exit code (e.g., <STRONG>$?</STRONG>, see |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 90 | <STRONG>sh(1)</STRONG>) to be sure it is <STRONG>0</STRONG>. (See the <STRONG>EXIT</STRONG> <STRONG>CODES</STRONG> and <STRONG>DIAG-</STRONG> |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 91 | <STRONG>NOSTICS</STRONG> sections.) For a complete list of capabilities |
| 92 | and the <EM>capname</EM> associated with each, see <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>. |
| 93 | |
| 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> |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 98 | will also be ignored. |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 99 | |
| 100 | <EM>capname</EM> |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 101 | indicates the capability from the <STRONG>terminfo</STRONG> data- |
| 102 | base. When <STRONG>termcap</STRONG> support is compiled in, the |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 103 | <STRONG>termcap</STRONG> name for the capability is also accepted. |
| 104 | |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 105 | <EM>parms</EM> If the capability is a string that takes parame- |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 106 | ters, the arguments <EM>parms</EM> will be instantiated into |
| 107 | the string. |
| 108 | |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 109 | Most parameters are numbers. Only a few terminfo |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 110 | capabilities require string parameters; <STRONG>tput</STRONG> uses a |
| 111 | table to decide which to pass as strings. Normally |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 112 | <STRONG>tput</STRONG> uses <STRONG>tparm</STRONG> (3x) to perform the substitution. |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 113 | If no parameters are given for the capability, <STRONG>tput</STRONG> |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 114 | writes the string without performing the substitu- |
| 115 | tion. |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 116 | |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 117 | <STRONG>-S</STRONG> allows more than one capability per invocation of |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 118 | <STRONG>tput</STRONG>. The capabilities must be passed to <STRONG>tput</STRONG> from |
| 119 | the standard input instead of from the command line |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 120 | (see example). Only one <EM>capname</EM> is allowed per |
| 121 | line. The <STRONG>-S</STRONG> option changes the meaning of the <STRONG>0</STRONG> |
| 122 | and <STRONG>1</STRONG> boolean and string exit codes (see the EXIT |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 123 | CODES section). |
| 124 | |
| 125 | Again, <STRONG>tput</STRONG> uses a table and the presence of param- |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 126 | eters in its input to decide whether to use <STRONG>tparm</STRONG> |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 127 | (3x), and how to interpret the parameters. |
| 128 | |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 129 | <STRONG>-V</STRONG> reports the version of ncurses which was used in |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 130 | this program, and exits. |
| 131 | |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 132 | <STRONG>init</STRONG> If the <STRONG>terminfo</STRONG> database is present and an entry |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 133 | for the user's terminal exists (see <STRONG>-T</STRONG><EM>type</EM>, above), |
| 134 | the following will occur: |
| 135 | |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 136 | (1) if present, the terminal's initialization |
| 137 | strings will be output as detailed in the |
| 138 | <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> section on <EM>Tabs</EM> <EM>and</EM> <EM>Initializa-</EM> |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 139 | <EM>tion</EM>, |
| 140 | |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 141 | (2) any delays (e.g., newline) specified in the |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 142 | entry will be set in the tty driver, |
| 143 | |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 144 | (3) tabs expansion will be turned on or off |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 145 | according to the specification in the entry, |
| 146 | and |
| 147 | |
| 148 | (4) if tabs are not expanded, standard tabs will |
| 149 | be set (every 8 spaces). |
| 150 | |
| 151 | If an entry does not contain the information needed |
| 152 | for any of the four above activities, that activity |
| 153 | will silently be skipped. |
| 154 | |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 155 | <STRONG>reset</STRONG> Instead of putting out initialization strings, the |
| 156 | terminal's reset strings will be output if present |
| 157 | (<STRONG>rs1</STRONG>, <STRONG>rs2</STRONG>, <STRONG>rs3</STRONG>, <STRONG>rf</STRONG>). If the reset strings are not |
| 158 | present, but initialization strings are, the ini- |
| 159 | tialization strings will be output. Otherwise, |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 160 | <STRONG>reset</STRONG> acts identically to <STRONG>init</STRONG>. |
| 161 | |
| 162 | <STRONG>longname</STRONG> |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 163 | If the <STRONG>terminfo</STRONG> database is present and an entry |
| 164 | for the user's terminal exists (see <STRONG>-T</STRONG><EM>type</EM> above), |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 165 | then the long name of the terminal will be put out. |
| 166 | The long name is the last name in the first line of |
| 167 | the terminal's description in the <STRONG>terminfo</STRONG> database |
| 168 | [see <STRONG><A HREF="term.5.html">term(5)</A></STRONG>]. |
| 169 | |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 170 | If <STRONG>tput</STRONG> is invoked by a link named <STRONG>reset</STRONG>, this has the |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 171 | same effect as <STRONG>tput</STRONG> <STRONG>reset</STRONG>. See <STRONG>tset</STRONG> for comparison, which |
| 172 | has similar behavior. |
| 173 | |
| 174 | |
| 175 | </PRE> |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 176 | <H2><a name="h2-EXAMPLES">EXAMPLES</a></H2><PRE> |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 177 | <STRONG>tput</STRONG> <STRONG>init</STRONG> |
| 178 | Initialize the terminal according to the type of ter- |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 179 | minal in the environmental variable <STRONG>TERM</STRONG>. This com- |
| 180 | mand should be included in everyone's .profile after |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 181 | the environmental variable <STRONG>TERM</STRONG> has been exported, as |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 182 | illustrated on the <STRONG>profile(5)</STRONG> manual page. |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 183 | |
| 184 | <STRONG>tput</STRONG> <STRONG>-T5620</STRONG> <STRONG>reset</STRONG> |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 185 | Reset an AT&T 5620 terminal, overriding the type of |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 186 | terminal in the environmental variable <STRONG>TERM</STRONG>. |
| 187 | |
| 188 | <STRONG>tput</STRONG> <STRONG>cup</STRONG> <STRONG>0</STRONG> <STRONG>0</STRONG> |
| 189 | Send the sequence to move the cursor to row <STRONG>0</STRONG>, column |
| 190 | <STRONG>0</STRONG> (the upper left corner of the screen, usually known |
| 191 | as the "home" cursor position). |
| 192 | |
| 193 | <STRONG>tput</STRONG> <STRONG>clear</STRONG> |
| 194 | Echo the clear-screen sequence for the current termi- |
| 195 | nal. |
| 196 | |
| 197 | <STRONG>tput</STRONG> <STRONG>cols</STRONG> |
| 198 | Print the number of columns for the current terminal. |
| 199 | |
| 200 | <STRONG>tput</STRONG> <STRONG>-T450</STRONG> <STRONG>cols</STRONG> |
| 201 | Print the number of columns for the 450 terminal. |
| 202 | |
| 203 | <STRONG>bold=`tput</STRONG> <STRONG>smso`</STRONG> <STRONG>offbold=`tput</STRONG> <STRONG>rmso`</STRONG> |
| 204 | Set the shell variables <STRONG>bold</STRONG>, to begin stand-out mode |
| 205 | sequence, and <STRONG>offbold</STRONG>, to end standout mode sequence, |
| 206 | for the current terminal. This might be followed by |
| 207 | a prompt: <STRONG>echo</STRONG> <STRONG>"${bold}Please</STRONG> <STRONG>type</STRONG> <STRONG>in</STRONG> <STRONG>your</STRONG> <STRONG>name:</STRONG> |
| 208 | <STRONG>${offbold}\c"</STRONG> |
| 209 | |
| 210 | <STRONG>tput</STRONG> <STRONG>hc</STRONG> |
| 211 | Set exit code to indicate if the current terminal is |
| 212 | a hard copy terminal. |
| 213 | |
| 214 | <STRONG>tput</STRONG> <STRONG>cup</STRONG> <STRONG>23</STRONG> <STRONG>4</STRONG> |
| 215 | Send the sequence to move the cursor to row 23, col- |
| 216 | umn 4. |
| 217 | |
| 218 | <STRONG>tput</STRONG> <STRONG>cup</STRONG> |
| 219 | Send the terminfo string for cursor-movement, with no |
| 220 | parameters substituted. |
| 221 | |
| 222 | <STRONG>tput</STRONG> <STRONG>longname</STRONG> |
| 223 | Print the long name from the <STRONG>terminfo</STRONG> database for |
| 224 | the type of terminal specified in the environmental |
| 225 | variable <STRONG>TERM</STRONG>. |
| 226 | |
| 227 | <STRONG>tput</STRONG> <STRONG>-S</STRONG> <STRONG><<!</STRONG> |
| 228 | <STRONG>></STRONG> <STRONG>clear</STRONG> |
| 229 | <STRONG>></STRONG> <STRONG>cup</STRONG> <STRONG>10</STRONG> <STRONG>10</STRONG> |
| 230 | <STRONG>></STRONG> <STRONG>bold</STRONG> |
| 231 | <STRONG>></STRONG> <STRONG>!</STRONG> |
| 232 | |
| 233 | This example shows <STRONG>tput</STRONG> processing several capabili- |
| 234 | ties in one invocation. It clears the screen, moves |
| 235 | the cursor to position 10, 10 and turns on bold |
| 236 | (extra bright) mode. The list is terminated by an |
| 237 | exclamation mark (<STRONG>!</STRONG>) on a line by itself. |
| 238 | |
| 239 | |
| 240 | </PRE> |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 241 | <H2><a name="h2-FILES">FILES</a></H2><PRE> |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 242 | <STRONG>/usr/share/terminfo</STRONG> |
| 243 | compiled terminal description database |
| 244 | |
| 245 | <STRONG>/usr/share/tabset/*</STRONG> |
| 246 | tab settings for some terminals, in a format appro- |
| 247 | priate to be output to the terminal (escape |
| 248 | sequences that set margins and tabs); for more |
| 249 | information, see the "Tabs and Initialization" sec- |
| 250 | tion of <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> |
| 251 | |
| 252 | |
| 253 | </PRE> |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 254 | <H2><a name="h2-EXIT-CODES">EXIT CODES</a></H2><PRE> |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 255 | If the <STRONG>-S</STRONG> option is used, <STRONG>tput</STRONG> checks for errors from each |
| 256 | line, and if any errors are found, will set the exit code |
| 257 | to 4 plus the number of lines with errors. If no errors |
| 258 | are found, the exit code is <STRONG>0</STRONG>. No indication of which |
| 259 | line failed can be given so exit code <STRONG>1</STRONG> will never appear. |
| 260 | Exit codes <STRONG>2</STRONG>, <STRONG>3</STRONG>, and <STRONG>4</STRONG> retain their usual interpretation. |
| 261 | If the <STRONG>-S</STRONG> option is not used, the exit code depends on the |
| 262 | type of <EM>capname</EM>: |
| 263 | |
| 264 | <EM>boolean</EM> |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 265 | a value of <STRONG>0</STRONG> is set for TRUE and <STRONG>1</STRONG> for FALSE. |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 266 | |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 267 | <EM>string</EM> a value of <STRONG>0</STRONG> is set if the <EM>capname</EM> is defined |
| 268 | for this terminal <EM>type</EM> (the value of <EM>capname</EM> |
| 269 | is returned on standard output); a value of <STRONG>1</STRONG> |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 270 | is set if <EM>capname</EM> is not defined for this ter- |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 271 | minal <EM>type</EM> (nothing is written to standard |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 272 | output). |
| 273 | |
| 274 | <EM>integer</EM> |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 275 | a value of <STRONG>0</STRONG> is always set, whether or not |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 276 | <EM>capname</EM> is defined for this terminal <EM>type</EM>. To |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 277 | determine if <EM>capname</EM> is defined for this ter- |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 278 | minal <EM>type</EM>, the user must test the value writ- |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 279 | ten to standard output. A value of <STRONG>-1</STRONG> means |
| 280 | that <EM>capname</EM> is not defined for this terminal |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 281 | <EM>type</EM>. |
| 282 | |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 283 | <EM>other</EM> <STRONG>reset</STRONG> or <STRONG>init</STRONG> may fail to find their respec- |
| 284 | tive files. In that case, the exit code is |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 285 | set to 4 + <STRONG>errno</STRONG>. |
| 286 | |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 287 | Any other exit code indicates an error; see the DIAGNOS- |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 288 | TICS section. |
| 289 | |
| 290 | |
| 291 | </PRE> |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 292 | <H2><a name="h2-DIAGNOSTICS">DIAGNOSTICS</a></H2><PRE> |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 293 | <STRONG>tput</STRONG> prints the following error messages and sets the cor- |
| 294 | responding exit codes. |
| 295 | |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 296 | exit code error message |
| 297 | --------------------------------------------------------------------- |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 298 | <STRONG>0</STRONG> (<EM>capname</EM> is a numeric variable that is not specified in |
| 299 | the <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> database for this terminal type, e.g. |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 300 | <STRONG>tput</STRONG> <STRONG>-T450</STRONG> <STRONG>lines</STRONG> and <STRONG>tput</STRONG> <STRONG>-T2621</STRONG> <STRONG>xmc</STRONG>) |
| 301 | <STRONG>1</STRONG> no error message is printed, see the <STRONG>EXIT</STRONG> <STRONG>CODES</STRONG> section. |
| 302 | <STRONG>2</STRONG> usage error |
| 303 | <STRONG>3</STRONG> unknown terminal <EM>type</EM> or no <STRONG>terminfo</STRONG> database |
| 304 | <STRONG>4</STRONG> unknown <STRONG>terminfo</STRONG> capability <EM>capname</EM> |
| 305 | <STRONG>>4</STRONG> error occurred in -S |
| 306 | --------------------------------------------------------------------- |
| 307 | |
| 308 | |
| 309 | </PRE> |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 310 | <H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> |
| 311 | The <STRONG>longname</STRONG> and <STRONG>-S</STRONG> options, and the parameter-substitu- |
| 312 | tion features used in the <STRONG>cup</STRONG> example, are not supported |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 313 | in BSD curses or in AT&T/USL curses before SVr4. |
| 314 | |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 315 | X/Open documents only the operands for <STRONG>clear</STRONG>, <STRONG>init</STRONG> and |
| 316 | <STRONG>reset</STRONG>. In this implementation, <STRONG>clear</STRONG> is part of the <EM>cap-</EM> |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 317 | <EM>name</EM> support. Other implementations of <STRONG>tput</STRONG> on SVr4-based |
| 318 | systems such as Solaris, IRIX64 and HPUX as well as others |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 319 | such as AIX and Tru64 provide support for <EM>capname</EM> oper- |
| 320 | ands. |
| 321 | |
| 322 | A few platforms such as FreeBSD and NetBSD recognize term- |
| 323 | cap names rather than terminfo capability names in their |
| 324 | respective <STRONG>tput</STRONG> commands. |
| 325 | |
| 326 | Most implementations which provide support for <EM>capname</EM> op- |
| 327 | erands use the <EM>tparm</EM> function to expand parameters in it. |
| 328 | That function expects a mixture of numeric and string |
| 329 | parameters, requiring <STRONG>tput</STRONG> to know which type to use. |
| 330 | This implementation uses a table to determine that for the |
| 331 | standard <EM>capname</EM> operands, and an internal library func- |
| 332 | tion to analyze nonstandard <EM>capname</EM> operands. Other |
| 333 | implementations may simply guess that an operand contain- |
| 334 | ing only digits is intended to be a number. |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 335 | |
| 336 | |
| 337 | </PRE> |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 338 | <H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> |
| 339 | <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="terminfo.5.html">terminfo(5)</A></STRONG>, <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>. |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 340 | |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 341 | This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20150808). |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 342 | |
| 343 | |
| 344 | |
| 345 | <STRONG><A HREF="tput.1.html">tput(1)</A></STRONG> |
| 346 | </PRE> |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 347 | <div class="nav"> |
| 348 | <ul> |
| 349 | <li><a href="#h2-NAME">NAME</a></li> |
| 350 | <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li> |
| 351 | <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li> |
| 352 | <li><a href="#h2-EXAMPLES">EXAMPLES</a></li> |
| 353 | <li><a href="#h2-FILES">FILES</a></li> |
| 354 | <li><a href="#h2-EXIT-CODES">EXIT CODES</a></li> |
| 355 | <li><a href="#h2-DIAGNOSTICS">DIAGNOSTICS</a></li> |
| 356 | <li><a href="#h2-PORTABILITY">PORTABILITY</a></li> |
| 357 | <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> |
| 358 | </ul> |
| 359 | </div> |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 360 | </BODY> |
| 361 | </HTML> |