MAN page from Fedora 3 ncurses-5.4-13.x86_64.rpm
Section: Misc. Reference Manual Pages (1M)
- the terminfo
The command tic
translates a terminfo
file from sourceformat into compiled format. The compiled format is necessary for use withthe library routines in ncurses
The results are normally placed in the system terminfodirectory /usr/share/terminfo. There are two ways to change this behavior.
First, you may override the system default by setting the variableTERMINFO in your shell environment to a valid (existing) directory name.
Secondly, if tic cannot get access to /usr/share/terminfo or your TERMINFOdirectory, it looks for the directory $HOME/.terminfo; if that directoryexists, the entry is placed there.
Libraries that read terminfo entries are expected to check for a TERMINFOdirectory first, look at $HOME/.terminfo if TERMINFO is not set, andfinally look in /usr/share/terminfo.
- restricts the output to a single column
- tells tic to retain commented-out capabilities rather than discardingthem. Capabilities are commented by prefixing them with a period.This sets the -x option, because it treats the commented-outentries as user-defined names.If the source is termcap, accept the 2-character names required by version 6.Otherwise these are ignored.
- Force source translation to termcap format. Note: this differs from the -Coption of infocmp(1M) in that it does not merely translate capabilitynames, but also translates terminfo strings to termcap format. Capabilitiesthat are not translatable are left in the entry under their terminfo namesbut commented out with two preceding dots.
- tells tic to only check file for errors, including syntax problems andbad use links. If you specify -C (-I) with this option, the codewill print warnings about entries which, after use resolution, are more than1023 (4096) bytes long. Due to a fixed buffer length in older termcaplibraries (and a documented limit in terminfo), these entries may cause coredumps.
- -e names
- Limit writes and translations to the following comma-separated list ofterminals.If any name or alias of a terminal matches one of the names inthe list, the entry will be written or translated as normal.Otherwise no output will be generated for it.The option value is interpreted as a file containing the list if itcontains a '/'.(Note: depending on how tic was compiled, this option may require -I or -C.)
- Display complex terminfo strings which contain if/then/else/endif expressionsindented for readability.
- Display constant literals in decimal formrather than their character equivalents.
- Display constant character literals in quoted formrather than their decimal equivalents.
- Force source translation to terminfo format.
- Force source translation to terminfo formatusing the long C variable names listed in <term.h>
- Disable smart defaults. Normally, when translating from termcap to terminfo, the compiler makesa number of assumptions about the defaults of string capabilitiesreset1_string, carriage_return, cursor_left,cursor_down, scroll_forward, tab, newline,key_backspace, key_left, and key_down, then attemptsto use obsolete termcap capabilities to deduce correct values. It alsonormally suppresses output of obsolete termcap capabilities such as bs.This option forces a more literal translation that also preserves theobsolete capabilities.
- Write compiled entries to given directory. Overrides the TERMINFO environmentvariable.
- Restrict output to a given subset. This option is for use with archaicversions of terminfo like those on SVr1, Ultrix, or HP/UX that do not supportthe full set of SVR4/XSI Curses terminfo; and outright broken ports like AIX 3.xthat have their own extensions incompatible with SVr4/XSI. Available subsetsare "SVr1", "Ultrix", "HP", "BSD" and "AIX"; see terminfo(5) for details.
- Force entry resolution (so there are no remaining tc capabilities) evenwhen doing translation to termcap format. This may be needed if you arepreparing a termcap file for a termcap library (such as GNU termcap throughversion 1.3 or BSD termcap through 4.3BSD) that does not handle multipletc capabilities per entry.
- Summarize the compile by showing the directory into which entriesare written, and the number of entries which are compiled.
- eliminates size-restrictions on the generated text.This is mainly useful for testing and analysis, since the compileddescriptions are limited (e.g., 1023 for termcap, 4096 for terminfo).
- tells tic to discard commented-out capabilities.Normally when translating from terminfo to termcap,untranslatable capabilities are commented-out.
- reports the version of ncurses which was used in this program, and exits.
- specifies that (verbose) output be written to standard error traceinformation showing tic's progress. The optional integern is a number from 1 to 10, inclusive, indicating the desiredlevel of detail of information. If n is omitted, the defaultlevel is 1. If n is specified and greater than 1, the level ofdetail is increased.
- specifies the width of the output.
- Treat unknown capabilities as user-defined.That is, if you supply a capability name which tic does not recognize,it will infer its type (boolean, number or string) from the syntax andmake an extended table entry for that.
- contains one or more terminfo terminal descriptions in sourceformat [see terminfo(5)]. Each description in the filedescribes the capabilities of a particular terminal.
The debug flag levels are as follows:
- Names of files created and linked
- Information related to the ``use'' facility
- Statistics from the hashing algorithm
- String-table memory allocations
- Entries into the string-table
- List of tokens encountered by scanner
- All values computed in construction of the hash table
If the debug level n is not given, it is taken to be one.
All but one of the capabilities recognized by tic are documentedin terminfo(5). The exception is the use capability.
When a use=entry-name field is discovered in aterminal entry currently being compiled, tic reads in the binaryfrom /usr/share/terminfo to complete the entry. (Entries created fromfile will be used first. If the environment variableTERMINFO is set, that directory is searched instead of/usr/share/terminfo.) tic duplicates the capabilities inentry-name for the current entry, with the exception ofthose capabilities that explicitly are defined in the current entry.
When an entry, e.g., entry_name_1, contains ause=entry_name_2 field, any canceledcapabilities in entry_name_2 must also appear inentry_name_1 before use= for these capabilities to becanceled in entry_name_1.
If the environment variable TERMINFO is set, the compiledresults are placed there instead of /usr/share/terminfo.
Total compiled entries cannot exceed 4096 bytes. The name field cannotexceed 512 bytes. Terminal names exceeding the maximum alias length(32 characters on systems with long filenames, 14 characters otherwise)will be truncated to the maximum alias length and a warning message will be printed.
There is some evidence that historic tic
implementations treateddescription fields with no whitespace in them as additional aliases orshort names. This tic
does not do that, but it does warn whendescription fields may be treated that way and check them for dangerouscharacters.
Unlike the stock SVr4 tic
command, this implementation can actuallycompile termcap sources. In fact, entries in terminfo and termcap syntax canbe mixed in a single source file. See terminfo
(5) for the list oftermcap names taken to be equivalent to terminfo names.
The SVr4 manual pages are not clear on the resolution rules for usecapabilities.This implementation of tic will find use targets anywherein the source file, or anywhere in the file tree rooted at TERMINFO (ifTERMINFO is defined), or in the user's $HOME/.terminfo directory(if it exists), or (finally) anywhere in the system's file tree ofcompiled entries.
The error messages from this tic have the same format as GNU Cerror messages, and can be parsed by GNU Emacs's compile facility.
The-C,-G,-I,-N,-R,-T,-V,-a,-e,-f,-g,-o,-r,-s,-t and-xoptionsare not supported under SVr4.The SVr4 -c mode does not report bad use links.
System V does not compile entries to or read entries from your$HOME/.terminfo directory unless TERMINFO is explicitly set to it.
- Compiled terminal description database.
- SEE ALSO
This document was created byman2html,using the manual pages.