1<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> 2<!-- 3 **************************************************************************** 4 * Copyright (c) 1998-2005,2006 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: tic.1m,v 1.44 2006/12/24 17:59:11 tom Exp @ 31--> 32<HTML> 33<HEAD> 34<TITLE>tic 1m</TITLE> 35<link rev=made href="mailto:bug-ncurses@gnu.org"> 36<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> 37</HEAD> 38<BODY> 39<H1>tic 1m</H1> 40<HR> 41<PRE> 42<!-- Manpage converted by man2html 3.0.1 --> 43<STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG> <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG> 44 45 46 47 48</PRE> 49<H2>NAME</H2><PRE> 50 <STRONG>tic</STRONG> - the <EM>terminfo</EM> entry-description compiler 51 52 53</PRE> 54<H2>SYNOPSIS</H2><PRE> 55 <STRONG>tic</STRONG> [<STRONG>-1CGILNTUVacfgrstx</STRONG>] [<STRONG>-e</STRONG> <EM>names</EM>] [<STRONG>-o</STRONG> <EM>dir</EM>] [<STRONG>-R</STRONG> <EM>subset</EM>] 56 [<STRONG>-v</STRONG>[<EM>n</EM>]] [<STRONG>-w</STRONG>[<EM>n</EM>]] <EM>file</EM> 57 58 59</PRE> 60<H2>DESCRIPTION</H2><PRE> 61 The command <STRONG>tic</STRONG> translates a <STRONG>terminfo</STRONG> file from source 62 format into compiled format. The compiled format is nec- 63 essary for use with the library routines in <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>. 64 65 The results are normally placed in the system terminfo 66 directory <STRONG>/usr/share/terminfo</STRONG>. There are two ways to 67 change this behavior. 68 69 First, you may override the system default by setting the 70 variable <STRONG>TERMINFO</STRONG> in your shell environment to a valid 71 (existing) directory name. 72 73 Secondly, if <STRONG>tic</STRONG> cannot get access to <EM>/usr/share/terminfo</EM> 74 or your TERMINFO directory, it looks for the directory 75 <EM>$HOME/.terminfo</EM>; if that directory exists, the entry is 76 placed there. 77 78 Libraries that read terminfo entries are expected to check 79 for a TERMINFO directory first, look at <EM>$HOME/.terminfo</EM> if 80 TERMINFO is not set, and finally look in <EM>/usr/share/ter-</EM> 81 <EM>minfo</EM>. 82 83 <STRONG>-1</STRONG> restricts the output to a single column 84 85 <STRONG>-a</STRONG> tells <STRONG>tic</STRONG> to retain commented-out capabilities 86 rather than discarding them. Capabilities are com- 87 mented by prefixing them with a period. This sets 88 the <STRONG>-x</STRONG> option, because it treats the commented-out 89 entries as user-defined names. If the source is 90 termcap, accept the 2-character names required by 91 version 6. Otherwise these are ignored. 92 93 <STRONG>-C</STRONG> Force source translation to termcap format. Note: 94 this differs from the <STRONG>-C</STRONG> option of <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG> in 95 that it does not merely translate capability names, 96 but also translates terminfo strings to termcap 97 format. Capabilities that are not translatable are 98 left in the entry under their terminfo names but 99 commented out with two preceding dots. 100 101 <STRONG>-c</STRONG> tells <STRONG>tic</STRONG> to only check <EM>file</EM> for errors, including 102 syntax problems and bad use links. If you specify 103 <STRONG>-C</STRONG> (<STRONG>-I</STRONG>) with this option, the code will print warn- 104 ings about entries which, after use resolution, are 105 more than 1023 (4096) bytes long. Due to a fixed 106 buffer length in older termcap libraries (and a 107 documented limit in terminfo), these entries may 108 cause core dumps. 109 110 <STRONG>-e</STRONG> <EM>names</EM> 111 Limit writes and translations to the following 112 comma-separated list of terminals. If any name or 113 alias of a terminal matches one of the names in the 114 list, the entry will be written or translated as 115 normal. Otherwise no output will be generated for 116 it. The option value is interpreted as a file con- 117 taining the list if it contains a '/'. (Note: 118 depending on how tic was compiled, this option may 119 require <STRONG>-I</STRONG> or <STRONG>-C</STRONG>.) 120 121 <STRONG>-f</STRONG> Display complex terminfo strings which contain 122 if/then/else/endif expressions indented for read- 123 ability. 124 125 <STRONG>-G</STRONG> Display constant literals in decimal form rather 126 than their character equivalents. 127 128 <STRONG>-g</STRONG> Display constant character literals in quoted form 129 rather than their decimal equivalents. 130 131 <STRONG>-I</STRONG> Force source translation to terminfo format. 132 133 <STRONG>-L</STRONG> Force source translation to terminfo format using 134 the long C variable names listed in <<STRONG>term.h</STRONG>> 135 136 <STRONG>-N</STRONG> Disable smart defaults. Normally, when translating 137 from termcap to terminfo, the compiler makes a num- 138 ber of assumptions about the defaults of string 139 capabilities <STRONG>reset1_string</STRONG>, <STRONG>carriage_return</STRONG>, <STRONG>cur-</STRONG> 140 <STRONG>sor_left</STRONG>, <STRONG>cursor_down</STRONG>, <STRONG>scroll_forward</STRONG>, <STRONG>tab</STRONG>, <STRONG>new-</STRONG> 141 <STRONG>line</STRONG>, <STRONG>key_backspace</STRONG>, <STRONG>key_left</STRONG>, and <STRONG>key_down</STRONG>, then 142 attempts to use obsolete termcap capabilities to 143 deduce correct values. It also normally suppresses 144 output of obsolete termcap capabilities such as <STRONG>bs</STRONG>. 145 This option forces a more literal translation that 146 also preserves the obsolete capabilities. 147 148 <STRONG>-o</STRONG><EM>dir</EM> Write compiled entries to given directory. Over- 149 rides the TERMINFO environment variable. 150 151 <STRONG>-R</STRONG><EM>subset</EM> 152 Restrict output to a given subset. This option is 153 for use with archaic versions of terminfo like 154 those on SVr1, Ultrix, or HP/UX that do not support 155 the full set of SVR4/XSI Curses terminfo; and out- 156 right broken ports like AIX 3.x that have their own 157 extensions incompatible with SVr4/XSI. Available 158 subsets are "SVr1", "Ultrix", "HP", "BSD" and 159 "AIX"; see <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> for details. 160 161 <STRONG>-r</STRONG> Force entry resolution (so there are no remaining 162 tc capabilities) even when doing translation to 163 termcap format. This may be needed if you are 164 preparing a termcap file for a termcap library 165 (such as GNU termcap through version 1.3 or BSD 166 termcap through 4.3BSD) that does not handle multi- 167 ple tc capabilities per entry. 168 169 <STRONG>-s</STRONG> Summarize the compile by showing the directory into 170 which entries are written, and the number of 171 entries which are compiled. 172 173 <STRONG>-T</STRONG> eliminates size-restrictions on the generated text. 174 This is mainly useful for testing and analysis, 175 since the compiled descriptions are limited (e.g., 176 1023 for termcap, 4096 for terminfo). 177 178 <STRONG>-t</STRONG> tells <STRONG>tic</STRONG> to discard commented-out capabilities. 179 Normally when translating from terminfo to termcap, 180 untranslatable capabilities are commented-out. 181 182 <STRONG>-U</STRONG> tells <STRONG>tic</STRONG> to not post-process the data after parsing 183 the source file. Normally, it infers data which is 184 commonly missing in older terminfo data, or in term- 185 caps. 186 187 <STRONG>-V</STRONG> reports the version of ncurses which was used in this 188 program, and exits. 189 190 <STRONG>-v</STRONG><EM>n</EM> specifies that (verbose) output be written to stan- 191 dard error trace information showing <STRONG>tic</STRONG>'s progress. 192 The optional parameter <EM>n</EM> is a number from 1 to 10, 193 inclusive, indicating the desired level of detail of 194 information. If <EM>n</EM> is omitted, the default level is 195 1. If <EM>n</EM> is specified and greater than 1, the level 196 of detail is increased. 197 198 <STRONG>-w</STRONG><EM>n</EM> specifies the width of the output. The parameter is 199 optional. If it is omitted, it defaults to 60. 200 201 <STRONG>-x</STRONG> Treat unknown capabilities as user-defined. That is, 202 if you supply a capability name which <STRONG>tic</STRONG> does not 203 recognize, it will infer its type (boolean, number or 204 string) from the syntax and make an extended table 205 entry for that. User-defined capability strings 206 whose name begins with ``k'' are treated as function 207 keys. 208 209 <EM>file</EM> contains one or more <STRONG>terminfo</STRONG> terminal descriptions 210 in source format [see <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>]. Each description 211 in the file describes the capabilities of a particu- 212 lar terminal. 213 214 The debug flag levels are as follows: 215 216 1 Names of files created and linked 217 218 2 Information related to the ``use'' facility 219 220 3 Statistics from the hashing algorithm 221 222 5 String-table memory allocations 223 224 7 Entries into the string-table 225 226 8 List of tokens encountered by scanner 227 228 9 All values computed in construction of the hash ta- 229 ble 230 231 If the debug level <EM>n</EM> is not given, it is taken to be one. 232 233 All but one of the capabilities recognized by <STRONG>tic</STRONG> are doc- 234 umented in <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>. The exception is the <STRONG>use</STRONG> capabil- 235 ity. 236 237 When a <STRONG>use</STRONG>=<EM>entry</EM>-<EM>name</EM> field is discovered in a terminal 238 entry currently being compiled, <STRONG>tic</STRONG> reads in the binary 239 from <STRONG>/usr/share/terminfo</STRONG> to complete the entry. (Entries 240 created from <EM>file</EM> will be used first. If the environment 241 variable <STRONG>TERMINFO</STRONG> is set, that directory is searched 242 instead of <STRONG>/usr/share/terminfo</STRONG>.) <STRONG>tic</STRONG> duplicates the capa- 243 bilities in <EM>entry</EM>-<EM>name</EM> for the current entry, with the 244 exception of those capabilities that explicitly are 245 defined in the current entry. 246 247 When an entry, e.g., <STRONG>entry_name_1</STRONG>, contains a 248 <STRONG>use=</STRONG><EM>entry</EM>_<EM>name</EM>_<EM>2</EM> field, any canceled capabilities in 249 <EM>entry</EM>_<EM>name</EM>_<EM>2</EM> must also appear in <STRONG>entry_name_1</STRONG> before <STRONG>use=</STRONG> 250 for these capabilities to be canceled in <STRONG>entry_name_1</STRONG>. 251 252 If the environment variable <STRONG>TERMINFO</STRONG> is set, the compiled 253 results are placed there instead of <STRONG>/usr/share/terminfo</STRONG>. 254 255 Total compiled entries cannot exceed 4096 bytes. The name 256 field cannot exceed 512 bytes. Terminal names exceeding 257 the maximum alias length (32 characters on systems with 258 long filenames, 14 characters otherwise) will be truncated 259 to the maximum alias length and a warning message will be 260 printed. 261 262 263</PRE> 264<H2>COMPATIBILITY</H2><PRE> 265 There is some evidence that historic <STRONG>tic</STRONG> implementations 266 treated description fields with no whitespace in them as 267 additional aliases or short names. This <STRONG>tic</STRONG> does not do 268 that, but it does warn when description fields may be 269 treated that way and check them for dangerous characters. 270 271 272</PRE> 273<H2>EXTENSIONS</H2><PRE> 274 Unlike the stock SVr4 <STRONG>tic</STRONG> command, this implementation can 275 actually compile termcap sources. In fact, entries in 276 terminfo and termcap syntax can be mixed in a single 277 source file. See <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> for the list of termcap 278 names taken to be equivalent to terminfo names. 279 280 The SVr4 manual pages are not clear on the resolution 281 rules for <STRONG>use</STRONG> capabilities. This implementation of <STRONG>tic</STRONG> 282 will find <STRONG>use</STRONG> targets anywhere in the source file, or any- 283 where in the file tree rooted at <STRONG>TERMINFO</STRONG> (if <STRONG>TERMINFO</STRONG> is 284 defined), or in the user's <EM>$HOME/.terminfo</EM> directory (if 285 it exists), or (finally) anywhere in the system's file 286 tree of compiled entries. 287 288 The error messages from this <STRONG>tic</STRONG> have the same format as 289 GNU C error messages, and can be parsed by GNU Emacs's 290 compile facility. 291 292 The <STRONG>-C</STRONG>, <STRONG>-G</STRONG>, <STRONG>-I</STRONG>, <STRONG>-N</STRONG>, <STRONG>-R</STRONG>, <STRONG>-T</STRONG>, <STRONG>-V</STRONG>, <STRONG>-a</STRONG>, <STRONG>-e</STRONG>, <STRONG>-f</STRONG>, <STRONG>-g</STRONG>, <STRONG>-o</STRONG>, <STRONG>-r</STRONG>, 293 <STRONG>-s</STRONG>, <STRONG>-t</STRONG> and <STRONG>-x</STRONG> options are not supported under SVr4. The 294 SVr4 <STRONG>-c</STRONG> mode does not report bad use links. 295 296 System V does not compile entries to or read entries from 297 your <EM>$HOME/.terminfo</EM> directory unless TERMINFO is explic- 298 itly set to it. 299 300 301</PRE> 302<H2>FILES</H2><PRE> 303 <STRONG>/usr/share/terminfo/?/*</STRONG> 304 Compiled terminal description database. 305 306 307</PRE> 308<H2>SEE ALSO</H2><PRE> 309 <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>, <STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>, <STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG>, 310 <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>. 311 312 This describes <STRONG>ncurses</STRONG> version 5.6 (patch 20081011). 313 314 315 316 <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG> 317</PRE> 318<HR> 319<ADDRESS> 320Man(1) output converted with 321<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a> 322</ADDRESS> 323</BODY> 324</HTML> 325