1<!-- 2 * t 3 **************************************************************************** 4 * Copyright 2018-2023,2024 Thomas E. Dickey * 5 * Copyright 1998-2017,2018 Free Software Foundation, Inc. * 6 * * 7 * Permission is hereby granted, free of charge, to any person obtaining a * 8 * copy of this software and associated documentation files (the * 9 * "Software"), to deal in the Software without restriction, including * 10 * without limitation the rights to use, copy, modify, merge, publish, * 11 * distribute, distribute with modifications, sublicense, and/or sell * 12 * copies of the Software, and to permit persons to whom the Software is * 13 * furnished to do so, subject to the following conditions: * 14 * * 15 * The above copyright notice and this permission notice shall be included * 16 * in all copies or substantial portions of the Software. * 17 * * 18 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * 19 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * 20 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * 21 * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * 22 * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * 23 * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * 24 * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * 25 * * 26 * Except as contained in this notice, the name(s) of the above copyright * 27 * holders shall not be used in advertising or otherwise to promote the * 28 * sale, use or other dealings in this Software without prior written * 29 * authorization. * 30 **************************************************************************** 31 * @Id: infocmp.1m,v 1.109 2024/03/16 15:35:01 tom Exp @ 32--> 33<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> 34<HTML> 35<HEAD> 36<meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> 37<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> 38<TITLE>infocmp 1m 2024-03-16 ncurses 6.5 User commands</TITLE> 39<link rel="author" href="mailto:bug-ncurses@gnu.org"> 40 41</HEAD> 42<BODY> 43<H1 class="no-header">infocmp 1m 2024-03-16 ncurses 6.5 User commands</H1> 44<PRE> 45<STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG> User commands <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG> 46 47 48 49 50</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE> 51 <STRONG>infocmp</STRONG> - compare or print out <EM>terminfo</EM> descriptions 52 53 54</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE> 55 <STRONG>infocmp</STRONG> [<STRONG>-1cCdDeEFgGiIKlLnpqrtTuUVWx</STRONG>] 56 [<STRONG>-v</STRONG> <EM>n</EM>] [<STRONG>-s</STRONG> <STRONG>d</STRONG>| <STRONG>i</STRONG>| <STRONG>l</STRONG>| <STRONG>c</STRONG>] [<STRONG>-Q</STRONG> <EM>n</EM>] [<STRONG>-R</STRONG> <STRONG>subset</STRONG>] 57 [<STRONG>-w</STRONG> <EM>width</EM>] [<STRONG>-A</STRONG> <EM>directory</EM>] [<STRONG>-B</STRONG> <EM>directory</EM>] 58 [<EM>terminal-type</EM> ...] 59 60 61</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE> 62 <STRONG>infocmp</STRONG> can be used to compare a binary <STRONG>terminfo</STRONG> entry with other 63 terminfo entries, rewrite a <STRONG>terminfo</STRONG> description to take advantage of 64 the <STRONG>use=</STRONG> terminfo field, or print out a <STRONG>terminfo</STRONG> description from the 65 binary file (<STRONG>term</STRONG>) in a variety of formats. In all cases, the Boolean 66 fields will be printed first, followed by the numeric fields, followed 67 by the string fields. 68 69 70</PRE><H3><a name="h3-Default-Options">Default Options</a></H3><PRE> 71 If no options are specified and zero or one <EM>terminal-types</EM> are 72 specified, the <STRONG>-I</STRONG> option will be assumed. If more than one <EM>terminal-</EM> 73 <EM>type</EM> is specified, the <STRONG>-d</STRONG> option will be assumed. 74 75 76</PRE><H3><a name="h3-Comparison-Options_d_c_n_">Comparison Options [-d] [-c] [-n]</a></H3><PRE> 77 <STRONG>infocmp</STRONG> compares the <STRONG>terminfo</STRONG> description of the first terminal 78 <EM>terminal-type</EM> with each of the descriptions given by the entries for 79 the other terminal's <EM>terminal-types</EM>. If a capability is defined for 80 only one of the terminals, the value returned depends on the type of 81 the capability: 82 83 <STRONG>o</STRONG> <STRONG>F</STRONG> for missing Boolean variables 84 85 <STRONG>o</STRONG> <STRONG>NULL</STRONG> for missing integer or string variables 86 87 Use the <STRONG>-q</STRONG> option to show the distinction between <EM>absent</EM> and <EM>cancelled</EM> 88 capabilities. 89 90 These options produce a list which you can use to compare two or more 91 terminal descriptions: 92 93 <STRONG>-d</STRONG> produces a list of each capability that is <EM>different</EM> between two 94 entries. Each item in the list shows ":" after the capability 95 name, followed by the capability values, separated by a comma. 96 97 <STRONG>-c</STRONG> produces a list of each capability that is <EM>common</EM> between two or 98 more entries. Missing capabilities are ignored. Each item in the 99 list shows "=" after the capability name, followed by the 100 capability value. 101 102 The <STRONG>-u</STRONG> option provides a related output, showing the first 103 terminal description rewritten to use the second as a building 104 block via the "use=" clause. 105 106 <STRONG>-n</STRONG> produces a list of each capability that is in <EM>none</EM> of the given 107 entries. Each item in the list shows "!" before the capability 108 name. 109 110 Normally only the conventional capabilities are shown. Use the <STRONG>-x</STRONG> 111 option to add the BSD-compatibility capabilities (names prefixed 112 with "OT"). 113 114 If no <EM>terminal-types</EM> are given, <STRONG>infocmp</STRONG> uses the environment 115 variable <EM>TERM</EM> for each of the <EM>terminal-types</EM>. 116 117 118</PRE><H3><a name="h3-Source-Listing-Options_I_L_C_r_">Source Listing Options [-I] [-L] [-C] [-r]</a></H3><PRE> 119 The <STRONG>-I</STRONG>, <STRONG>-L</STRONG>, and <STRONG>-C</STRONG> options will produce a source listing for each 120 terminal named. 121 122 <STRONG>-I</STRONG> use <EM>terminfo</EM> capability codes 123 <STRONG>-L</STRONG> use "long" capability names 124 <STRONG>-C</STRONG> use <EM>termcap</EM> capability codes 125 <STRONG>-r</STRONG> with <STRONG>-C</STRONG>, include nonstandard capabilities 126 <STRONG>-K</STRONG> with <STRONG>-C</STRONG>, improve BSD compatibility 127 128 If no <EM>terminal-types</EM> are given, the environment variable <EM>TERM</EM> will be 129 used for the terminal name. 130 131 The source produced by the <STRONG>-C</STRONG> option may be used directly as a <STRONG>termcap</STRONG> 132 entry, but not all parameterized strings can be changed to the <STRONG>termcap</STRONG> 133 format. <STRONG>infocmp</STRONG> will attempt to convert most of the parameterized 134 information, and anything not converted will be plainly marked in the 135 output and commented out. These should be edited by hand. 136 137 For best results when converting to <STRONG>termcap</STRONG> format, you should use both 138 <STRONG>-C</STRONG> and <STRONG>-r</STRONG>. Normally a termcap description is limited to 1023 bytes. 139 <STRONG>infocmp</STRONG> trims away less essential parts to make it fit. If you are 140 converting to one of the (rare) termcap implementations which accept an 141 unlimited size of termcap, you may want to add the <STRONG>-T</STRONG> option. More 142 often however, you must help the termcap implementation, and trim 143 excess whitespace (use the <STRONG>-0</STRONG> option for that). 144 145 All padding information for strings will be collected together and 146 placed at the beginning of the string where <STRONG>termcap</STRONG> expects it. 147 Mandatory padding (padding information with a trailing "/") will become 148 optional. 149 150 All <STRONG>termcap</STRONG> variables no longer supported by <STRONG>terminfo</STRONG>, but which are 151 derivable from other <STRONG>terminfo</STRONG> variables, will be output. Not all 152 <STRONG>terminfo</STRONG> capabilities will be translated; only those variables which 153 were part of <STRONG>termcap</STRONG> will normally be output. Specifying the <STRONG>-r</STRONG> option 154 will take off this restriction, allowing all capabilities to be output 155 in <EM>termcap</EM> form. Normally you would use both the <STRONG>-C</STRONG> and <STRONG>-r</STRONG> options. 156 The actual format used incorporates some improvements for escaped 157 characters from terminfo format. For a stricter BSD-compatible 158 translation, use the <STRONG>-K</STRONG> option rather than <STRONG>-C</STRONG>. 159 160 Note that because padding is collected to the beginning of the 161 capability, not all capabilities are output. Mandatory padding is not 162 supported. Because <STRONG>termcap</STRONG> strings are not as flexible, it is not 163 always possible to convert a <STRONG>terminfo</STRONG> string capability into an 164 equivalent <STRONG>termcap</STRONG> format. A subsequent conversion of the <STRONG>termcap</STRONG> file 165 back into <STRONG>terminfo</STRONG> format will not necessarily reproduce the original 166 <STRONG>terminfo</STRONG> source. 167 168 Some common <STRONG>terminfo</STRONG> parameter sequences, their <STRONG>termcap</STRONG> equivalents, 169 and some terminal types which commonly have such sequences, are: 170 171 <STRONG><EM>terminfo</EM></STRONG> <STRONG><EM>termcap</EM></STRONG> Terminal Types 172 ---------------------------------------------------- 173 <STRONG>%p1%c</STRONG> <STRONG>%.</STRONG> ansi-m 174 <STRONG>%p1%d</STRONG> <STRONG>%d</STRONG> ansi, vt100 175 <STRONG>%p1%'</STRONG> <STRONG>'%+%c</STRONG> <STRONG>%+x</STRONG> vt52 176 <STRONG>%i</STRONG> <STRONG>%iq</STRONG> ansi, vt100 177 <STRONG>%p1%?%'x'%>%t%p1%'y'%+%;</STRONG> <STRONG>%>xy</STRONG> annarbor4080 178 <STRONG>%p2</STRONG>...<STRONG>%p1</STRONG> <STRONG>%r</STRONG> hpgeneric 179 180 181</PRE><H3><a name="h3-Use_Option_u_">Use= Option [-u]</a></H3><PRE> 182 The <STRONG>-u</STRONG> option produces a <STRONG>terminfo</STRONG> source description of the first 183 terminal <EM>terminal-type</EM> which is relative to the sum of the descriptions 184 given by the entries for the other <EM>terminal-types</EM>. It does this by 185 analyzing the differences between the first <EM>terminal-types</EM> and the 186 other <EM>terminal-types</EM> and producing a description with <STRONG>use=</STRONG> fields for 187 the other terminals. In this manner, it is possible to retrofit 188 generic terminfo entries into a terminal's description. Or, if two 189 similar terminals exist, but were coded at different times or by 190 different people so that each description is a full description, using 191 <STRONG>infocmp</STRONG> will show what can be done to change one description to be 192 relative to the other. 193 194 A capability will be printed with an at-sign (@) if it no longer exists 195 in the first <EM>terminal-type</EM>, but one of the other <EM>terminal-type</EM> entries 196 contains a value for it. A capability's value will be printed if the 197 value in the first <EM>terminal-type</EM> is not found in any of the other 198 <EM>terminal-type</EM> entries, or if the first of the other <EM>terminal-type</EM> 199 entries that has this capability gives a different value for the 200 capability than that in the first <EM>terminal-type</EM>. 201 202 The order of the other <EM>terminal-type</EM> entries is significant. Since the 203 terminfo compiler <STRONG>tic</STRONG> does a left-to-right scan of the capabilities, 204 specifying two <STRONG>use=</STRONG> entries that contain differing entries for the same 205 capabilities will produce different results depending on the order that 206 the entries are given in. <STRONG>infocmp</STRONG> will flag any such inconsistencies 207 between the other <EM>terminal-type</EM> entries as they are found. 208 209 Alternatively, specifying a capability <EM>after</EM> a <STRONG>use=</STRONG> entry that contains 210 that capability will cause the second specification to be ignored. 211 Using <STRONG>infocmp</STRONG> to recreate a description can be a useful check to make 212 sure that everything was specified correctly in the original source 213 description. 214 215 Another error that does not cause incorrect compiled files, but will 216 slow down the compilation time, is specifying extra <STRONG>use=</STRONG> fields that 217 are superfluous. <STRONG>infocmp</STRONG> will flag any other <EM>terminal-type</EM> <EM>use=</EM> fields 218 that were not needed. 219 220 <STRONG>Changing</STRONG> <STRONG>Databases</STRONG> <STRONG>[-A</STRONG> <EM>directory</EM>] [-B <EM>directory</EM>] 221 Like other <EM>ncurses</EM> utilities, <STRONG>infocmp</STRONG> looks for the terminal 222 descriptions in several places. You can use the <EM>TERMINFO</EM> and 223 <EM>TERMINFO</EM><STRONG>_</STRONG><EM>DIRS</EM> environment variables to override the compiled-in default 224 list of places to search. See <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, as well as the <EM>Fetching</EM> 225 <EM>Compiled</EM> <EM>Descriptions</EM> section in <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>. 226 227 You can also use the options <STRONG>-A</STRONG> and <STRONG>-B</STRONG> to override the list of places 228 to search when comparing terminal descriptions: 229 230 <STRONG>o</STRONG> The <STRONG>-A</STRONG> option sets the location for the first <EM>terminal-type</EM> 231 232 <STRONG>o</STRONG> The <STRONG>-B</STRONG> option sets the location for the other <EM>terminal-types</EM>. 233 234 Using these options, it is possible to compare descriptions for a 235 terminal with the same name located in two different databases. For 236 instance, you can use this feature for comparing descriptions for the 237 same terminal created by different people. 238 239 240</PRE><H3><a name="h3-Other-Options">Other Options</a></H3><PRE> 241 <STRONG>-0</STRONG> causes the fields to be printed on one line, without wrapping. 242 243 <STRONG>-1</STRONG> causes the fields to be printed out one to a line. Otherwise, the 244 fields will be printed several to a line to a maximum width of 60 245 characters. 246 247 <STRONG>-a</STRONG> tells <STRONG>infocmp</STRONG> to retain commented-out capabilities rather than 248 discarding them. Capabilities are commented by prefixing them 249 with a period. 250 251 <STRONG>-D</STRONG> tells <STRONG>infocmp</STRONG> to print the database locations that it knows about, 252 and exit. 253 254 <STRONG>-E</STRONG> Dump the capabilities of the given terminal as tables, needed in 255 the C initializer for a TERMTYPE structure (the terminal 256 capability structure in the <STRONG><term.h></STRONG>). This option is useful for 257 preparing versions of the curses library hardwired for a given 258 terminal type. The tables are all declared static, and are named 259 according to the type and the name of the corresponding terminal 260 entry. 261 262 Before <EM>ncurses</EM> 5.0, the split between the <STRONG>-e</STRONG> and <STRONG>-E</STRONG> options was 263 not needed; but support for extended names required making the 264 arrays of terminal capabilities separate from the TERMTYPE 265 structure. 266 267 <STRONG>-e</STRONG> Dump the capabilities of the given terminal as a C initializer for 268 a TERMTYPE structure (the terminal capability structure in the 269 <STRONG><term.h></STRONG>). This option is useful for preparing versions of the 270 curses library hardwired for a given terminal type. 271 272 <STRONG>-F</STRONG> compare terminfo files. This assumes that two following arguments 273 are filenames. The files are searched for pairwise matches 274 between entries, with two entries considered to match if any of 275 their names do. The report printed to standard output lists 276 entries with no matches in the other file, and entries with more 277 than one match. For entries with exactly one match it includes a 278 difference report. Normally, to reduce the volume of the report, 279 use references are not resolved before looking for differences, 280 but resolution can be forced by also specifying <STRONG>-r</STRONG>. 281 282 <STRONG>-f</STRONG> Display complex terminfo strings which contain if/then/else/endif 283 expressions indented for readability. 284 285 <STRONG>-G</STRONG> Display constant literals in decimal form rather than their 286 character equivalents. 287 288 <STRONG>-g</STRONG> Display constant character literals in quoted form rather than 289 their decimal equivalents. 290 291 <STRONG>-i</STRONG> Analyze the initialization (<STRONG>is1</STRONG>, <STRONG>is2</STRONG>, <STRONG>is3</STRONG>), and reset (<STRONG>rs1</STRONG>, <STRONG>rs2</STRONG>, 292 <STRONG>rs3</STRONG>), strings in the entry, as well as those used for 293 starting/stopping cursor-positioning mode (<STRONG>smcup</STRONG>, <STRONG>rmcup</STRONG>) as well 294 as starting/stopping keymap mode (<STRONG>smkx</STRONG>, <STRONG>rmkx</STRONG>). 295 296 For each string, the code tries to analyze it into actions in 297 terms of the other capabilities in the entry, certain X3.64/ISO 298 6429/ECMA-48 capabilities, and certain DEC VT-series private modes 299 (the set of recognized special sequences has been selected for 300 completeness over the existing terminfo database). Each report 301 line consists of the capability name, followed by a colon and 302 space, followed by a printable expansion of the capability string 303 with sections matching recognized actions translated into 304 {}-bracketed descriptions. 305 306 Here is a list of the DEC/ANSI special sequences recognized: 307 308 Action Meaning 309 ----------------------------------------- 310 RIS full reset 311 SC save cursor 312 RC restore cursor 313 LL home-down 314 RSR reset scroll region 315 ----------------------------------------- 316 317 DECSTR soft reset (VT320) 318 S7C1T 7-bit controls (VT220) 319 ----------------------------------------- 320 ISO DEC G0 enable DEC graphics for G0 321 ISO UK G0 enable UK chars for G0 322 ISO US G0 enable US chars for G0 323 ISO DEC G1 enable DEC graphics for G1 324 ISO UK G1 enable UK chars for G1 325 ISO US G1 enable US chars for G1 326 ----------------------------------------- 327 DECPAM application keypad mode 328 DECPNM normal keypad mode 329 DECANSI enter ANSI mode 330 ----------------------------------------- 331 ECMA[+-]AM keyboard action mode 332 ECMA[+-]IRM insert replace mode 333 ECMA[+-]SRM send receive mode 334 ECMA[+-]LNM linefeed mode 335 ----------------------------------------- 336 DEC[+-]CKM application cursor keys 337 DEC[+-]ANM set VT52 mode 338 DEC[+-]COLM 132-column mode 339 DEC[+-]SCLM smooth scroll 340 DEC[+-]SCNM reverse video mode 341 DEC[+-]OM origin mode 342 DEC[+-]AWM wraparound mode 343 DEC[+-]ARM auto-repeat mode 344 345 It also recognizes a SGR action corresponding to ANSI/ISO 6429/ECMA Set 346 Graphics Rendition, with the values NORMAL, BOLD, UNDERLINE, BLINK, and 347 REVERSE. All but NORMAL may be prefixed with 348 349 <STRONG>o</STRONG> "+" (turn on) or 350 351 <STRONG>o</STRONG> "-" (turn off). 352 353 An SGR0 designates an empty highlight sequence (equivalent to 354 {SGR:NORMAL}). 355 356 <STRONG>-l</STRONG> Set output format to terminfo. 357 358 <STRONG>-p</STRONG> Ignore padding specifications when comparing strings. 359 360 <STRONG>-Q</STRONG> <EM>n</EM> Rather than show source in terminfo (text) format, print the 361 compiled (binary) format in hexadecimal or base64 form, depending 362 on the option's value: 363 364 1 hexadecimal 365 366 2 base64 367 368 3 hexadecimal and base64 369 370 For example, this prints the compiled terminfo value as a string 371 which could be assigned to the <EM>TERMINFO</EM> environment variable: 372 373 infocmp -0 -q -Q2 374 375 <STRONG>-q</STRONG> This makes the output a little shorter: 376 377 <STRONG>o</STRONG> Make the comparison listing shorter by omitting subheadings, 378 and using "-" for absent capabilities, "@" for canceled rather 379 than "NULL". 380 381 <STRONG>o</STRONG> However, show differences between absent and cancelled 382 capabilities. 383 384 <STRONG>o</STRONG> Omit the "Reconstructed from" comment for source listings. 385 386 <STRONG>-R</STRONG><EM>subset</EM> 387 Restrict output to a given subset. This option is for use with 388 archaic versions of terminfo like those on SVr1, Ultrix, or HP-UX 389 that do not support the full set of SVR4/XSI Curses terminfo; and 390 variants such as AIX that have their own extensions incompatible 391 with SVr4/XSI. 392 393 <STRONG>o</STRONG> Available terminfo subsets are "SVr1", "Ultrix", "HP", and 394 "AIX"; see <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> for details. 395 396 <STRONG>o</STRONG> You can also choose the subset "BSD" which selects only 397 capabilities with termcap equivalents recognized by 4.4BSD. 398 399 <STRONG>o</STRONG> If you select any other value for <STRONG>-R</STRONG>, it is the same as no 400 subset, i.e., all capabilities are used. 401 402 A few options override the subset selected with <STRONG>-R</STRONG>, if they are 403 processed later in the command parameters: 404 405 <STRONG>-C</STRONG> sets the "BSD" subset as a side-effect. 406 407 <STRONG>-I</STRONG> sets the subset to all capabilities. 408 409 <STRONG>-r</STRONG> sets the subset to all capabilities. 410 411 <STRONG>-s</STRONG> <EM>[d|i|l|c]</EM> 412 The <STRONG>-s</STRONG> option sorts the fields within each type according to the 413 argument below: 414 415 <STRONG>d</STRONG> leave fields in the order that they are stored in the 416 <EM>terminfo</EM> database. 417 418 <STRONG>i</STRONG> sort by <EM>terminfo</EM> name. 419 420 <STRONG>l</STRONG> sort by the long C variable name. 421 422 <STRONG>c</STRONG> sort by the <EM>termcap</EM> name. 423 424 If the <STRONG>-s</STRONG> option is not given, the fields printed out will be 425 sorted alphabetically by the <STRONG>terminfo</STRONG> name within each type, 426 except in the case of the <STRONG>-C</STRONG> or the <STRONG>-L</STRONG> options, which cause the 427 sorting to be done by the <STRONG>termcap</STRONG> name or the long C variable 428 name, respectively. 429 430 <STRONG>-T</STRONG> eliminates size-restrictions on the generated text. This is 431 mainly useful for testing and analysis, since the compiled 432 descriptions are limited (e.g., 1023 for termcap, 4096 for 433 terminfo). 434 435 <STRONG>-t</STRONG> tells <STRONG>tic</STRONG> to discard commented-out capabilities. Normally when 436 translating from terminfo to termcap, untranslatable capabilities 437 are commented-out. 438 439 <STRONG>-U</STRONG> tells <STRONG>infocmp</STRONG> to not post-process the data after parsing the 440 source file. This feature helps when comparing the actual 441 contents of two source files, since it excludes the inferences 442 that <STRONG>infocmp</STRONG> makes to fill in missing data. 443 444 <STRONG>-V</STRONG> reports the version of <EM>ncurses</EM> which was used in this program, and 445 exits. 446 447 <STRONG>-v</STRONG> <EM>n</EM> prints out tracing information on standard error as the program 448 runs. 449 450 The optional parameter <EM>n</EM> is a number from 1 to 10, inclusive, 451 indicating the desired level of detail of information. If <EM>ncurses</EM> 452 is built without tracing support, the optional parameter is 453 ignored. 454 455 <STRONG>-W</STRONG> By itself, the <STRONG>-w</STRONG> option will not force long strings to be 456 wrapped. Use the <STRONG>-W</STRONG> option to do this. 457 458 <STRONG>-w</STRONG> <EM>width</EM> 459 changes the output to <EM>width</EM> characters. 460 461 <STRONG>-x</STRONG> print information for user-defined capabilities (see <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG>. 462 These are extensions to the terminfo repertoire which can be 463 loaded using the <STRONG>-x</STRONG> option of <STRONG>tic</STRONG>. 464 465 466</PRE><H2><a name="h2-FILES">FILES</a></H2><PRE> 467 <EM>/usr/share/terminfo</EM> 468 compiled terminal description database 469 470 471</PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE> 472 The <STRONG>-0</STRONG>, <STRONG>-1</STRONG>, <STRONG>-E</STRONG>, <STRONG>-F</STRONG>, <STRONG>-G</STRONG>, <STRONG>-Q</STRONG>, <STRONG>-R</STRONG>, <STRONG>-T</STRONG>, <STRONG>-V</STRONG>, <STRONG>-a</STRONG>, <STRONG>-e</STRONG>, <STRONG>-f</STRONG>, <STRONG>-g</STRONG>, <STRONG>-i</STRONG>, <STRONG>-l</STRONG>, <STRONG>-p</STRONG>, <STRONG>-q</STRONG> 473 and <STRONG>-t</STRONG> options are not supported in SVr4 curses. 474 475 SVr4 infocmp does not distinguish between absent and cancelled 476 capabilities. Also, it shows missing integer capabilities as <STRONG>-1</STRONG> (the 477 internal value used to represent missing integers). This 478 implementation shows those as "NULL", for consistency with missing 479 strings. 480 481 The <STRONG>-r</STRONG> option's notion of "termcap" capabilities is System V Release 482 4's. Actual BSD curses versions will have a more restricted set. To 483 see only the 4.4BSD set, use <STRONG>-r</STRONG> <STRONG>-RBSD</STRONG>. 484 485 486</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> 487 X/Open Curses, Issue 7 (2009) provides a description of <STRONG>infocmp</STRONG>. It 488 does not mention the options used for converting to termcap format. 489 490 491</PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE> 492 Although System V Release 2 provided a terminfo library, it had no 493 documented tool for decompiling the terminal descriptions. Tony Hansen 494 (AT&T) wrote the first <STRONG>infocmp</STRONG> in early 1984, for System V Release 3. 495 496 Eric Raymond used the AT&T documentation in 1995 to provide an 497 equivalent <STRONG>infocmp</STRONG> for <EM>ncurses</EM>. In addition, he added a few new 498 features such as: 499 500 <STRONG>o</STRONG> the <STRONG>-e</STRONG> option, to support <EM>fallback</EM> (compiled-in) terminal 501 descriptions 502 503 <STRONG>o</STRONG> the <STRONG>-i</STRONG> option, to help with analysis 504 505 Later, Thomas Dickey added the <STRONG>-x</STRONG> (user-defined capabilities) option, 506 and the <STRONG>-E</STRONG> option to support fallback entries with user-defined 507 capabilities. 508 509 For a complete list, see the <EM>EXTENSIONS</EM> section. 510 511 In 2010, Roy Marples provided an <STRONG>infocmp</STRONG> program for NetBSD. It is 512 less capable than the SVr4 or <EM>ncurses</EM> versions (e.g., it lacks the 513 sorting options documented in X/Open), but does include the <STRONG>-x</STRONG> option 514 adapted from <EM>ncurses</EM>. 515 516 517</PRE><H2><a name="h2-BUGS">BUGS</a></H2><PRE> 518 The <STRONG>-F</STRONG> option of <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG> should be a <STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG> mode. 519 520 521</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE> 522 Eric S. Raymond <esr@snark.thyrsus.com> and 523 Thomas E. Dickey <dickey@invisible-island.net> 524 525 526</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> 527 <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>, <STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>, <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>, <STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, 528 <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>, <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG> 529 530 https://invisible-island.net/ncurses/tctest.html 531 532 533 534ncurses 6.5 2024-03-16 <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG> 535</PRE> 536<div class="nav"> 537<ul> 538<li><a href="#h2-NAME">NAME</a></li> 539<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li> 540<li><a href="#h2-DESCRIPTION">DESCRIPTION</a> 541<ul> 542<li><a href="#h3-Default-Options">Default Options</a></li> 543<li><a href="#h3-Comparison-Options_d_c_n_">Comparison Options [-d] [-c] [-n]</a></li> 544<li><a href="#h3-Source-Listing-Options_I_L_C_r_">Source Listing Options [-I] [-L] [-C] [-r]</a></li> 545<li><a href="#h3-Use_Option_u_">Use= Option [-u]</a></li> 546<li><a href="#h3-Other-Options">Other Options</a></li> 547</ul> 548</li> 549<li><a href="#h2-FILES">FILES</a></li> 550<li><a href="#h2-EXTENSIONS">EXTENSIONS</a></li> 551<li><a href="#h2-PORTABILITY">PORTABILITY</a></li> 552<li><a href="#h2-HISTORY">HISTORY</a></li> 553<li><a href="#h2-BUGS">BUGS</a></li> 554<li><a href="#h2-AUTHORS">AUTHORS</a></li> 555<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> 556</ul> 557</div> 558</BODY> 559</HTML> 560