Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (OSF1-V5.1-alpha)
Apropos / Subsearch:
optional field

infocmp(1)							   infocmp(1)


  infocmp - Compares or	prints terminfo	descriptions


  infocmp [-c] [-d] [-n] [-I] [-L] [-C]	[-r] [-u] [-s d|i|l|c] [-v] [-V] [-1]
  [-w width] [-A directory] [-B	directory] [termname...]


  Comparison Options

  The infocmp command compares the terminfo description	of the first
  terminal's termname with the description of the other	terminal's termname
  entries.  If a capability is defined for only	one of the terminals, the
  value	returned depends on the	type of	capability as follows: F for Boolean
  variables, -1	for integer variables, and NULL	for string variables.

  The options are as follows:

  -d  Produces a list of each capability that is different between the two
      entries.	This option is useful when displaying the differences between
      two entries, created by different	persons	for the	same or	similar	ter-

  -c  Produces a list of each capability that is the same between the two
      entries.	Capabilities that are not set are ignored.  This option	can
      be used to determine the need of the -u option.

  -n  Produces a list of each capability that is in neither entry.  If a
      termname is not provided,	the environment	variable TERM is substituted
      for each termname.  This is a quick means	of determining whether or not
      anything was omitted from	a description.

  Source Listing Options

  The following	options	produce	a source listing for each terminal specified.
  If a termname	is not specified, the environment variable TERM	is determines
  the terminal name.

  -I  Specifies	that terminfo names be used.

  -L  Specifies	that the long C	variable names listed in <&lt;term.h>&gt; be used.

  -C  Specifies	that the termcap names be used.

      The source produced by this option may be	used directly as a termcap
      entry, but not all of the	information represented	as parameter strings
      can be changed to	termcap	format.	The infocmp command attempts to	con-
      vert most	of this	data, but data that is not converted is	marked in the
      output and commented.  These strings should be edited manually.

  -r  Specifies	that when using	the -C option, output all capabilities in
      termcap form.

  All padding information for strings is collected and placed at the begin-
  ning of the string as	expected by termcap. Mandatory padding (padding
  information with a trailing `/' is optional.

  All termcap variables	that are not supported by terminfo, but	which are
  derived from other terminfo variables	are output.  Not all terminfo capa-
  bilities are translated; that	is, only those variables which are typically
  a part of termcap are	output.	 Use the -r option to remove this restric-

  Because padding is collected at the beginning	of the capability, not all
  capabilities are output.  Mandatory padding is not supported.	As termcap
  strings are not as flexible, converting a terminfo string capability into
  an equivalent	termcap	format is not always possible.	Likewise, a subse-
  quent	conversion of the termcap file into terminfo format does not neces-
  sarily reproduce the original	terminfo source.

  Some common terminfo parameter sequences, their termcap equivalents, and
  some terminal	types which typically have such	sequences follows:

  terminfo		     termcap   Terminals
  %p%c			     %	       adm
  %p1%d			     %d

				       hp, ANSI	standard,
  %p%'x'%+%c		     %+x       concept
  %i			     %i	       ANSI standard, VT100
			     %>&gt;xy      concept

			     %r	       hp

  %p2 is printed before

  User Options

  -u  Produces a terminfo source description of	the first terminal specified
      by termname which	is relative to the sum of descriptions given by	the
      entries for the other terminals specified	by termname.  This is done by
      analyzing	the differences	between	the first termname and the remaining
      terminals	specified by termname and producing a description with user
      fields for the other terminals. You can then retrofit generic terminfo
      entries into a terminal's	description.  Or, if two similar terminals
      exist, but were coded at different times or by different people so that
      each is a	full description, using	the infocmp command shows what can be
      done to change one description relative to the other.

  A capability gets printed with an at sign (@)	if it does not exist in	the
  first	specified termname, but	one of the other entries contains a value for
  it.  A capability's value is printed if the value in the first specified
  termname is not found	in any other termname entry, or	if the first of	the
  remaining termname entries that has this capability provides a different
  value	for the	capability that	that listed in the first termname entry.

  The order of the remaining termname entries is significant. Because the tic
  command (terminfo compiler) performs a left to right scan of the capabili-
  ties,	specifying two user entries that have differing	descriptions for the
  same capabilities produces varying results depending on the order that the
  entries are specified.  The infocmp command options any inconsistencies
  between the termname entries as they are encountered.

  Alternately specifying a capability after a user entry that contains that
  capability causes the	second specification to	be ignored.  Using the
  infocmp command to recreate a	description can	be a useful check to ensure
  that everything was specified	correctly in the original source description.

  Another error	that does not cause incorrect compiled files, but which	slows
  down the compilation time is specifying users	fields that are	extraneous.
  The infocmp command options any excess termname user fields.

  Other	Options

  -1  Causes each field	to print on an individual line.	 If not	specified,
      multiple fields are printed on a line up to a maximum width of 60	char-

  -s  Sorts fields within each type using the following	arguments:

      d	  Leaves fields	in the order that they are stored in the terminfo

      i	  Sorts	by the terminfo	name.

      l	  Sorts	by the long C variable name.

      c	  Sorts	by the termcap name.

      If the -s	option is not specified, the field printed are sorted alpha-
      betically	by the terminfo	name within each type, except in the case of
      the -C or	the -L options which sort by the termcap name or the long C
      variable name respectively.

  -v  Prints tracing information to standard error during program execution.

  -V  Prints to	standard error,	the version of number of the executing pro-

  -w width
      Outputs information according to the specified width (in characters).

  Database Options

  The location of the compiled terminfo	database is taken from the environ-
  ment variable	TERMINFO.  If the variable is not defined or the terminal is
  not found in that location, the system terminfo database (typically
  /usr/share/lib/terminfo) is used.  The following options override the	loca-

  -A  Sets the environment variable TERMINFO to	the name specified by the
      first directory entry.

  -B  Sets the environment variable TERMINFO to	the name specified by the
      second directory entry.

  Using	these options enables you to compare descriptions for a	terminal with
  the same name	that is	located	in two different databases or for comparing
  descriptions prepared	by different people.


  Use the infocmp command to:

    +  Compare a binary	terminfo entry with other terminfo entries.

    +  Rewrite a terminfo description to take advantage	of the user (-u
       option) terminfo	field.

    +  Print a terminfo	description from the binary file (term)	in a variety
       of formats.  In all cases, the Boolean fields are printed first,
       numeric fields next, and	string fields last.

  If options are not specified and zero	to one termname	is specified, the -I
  option is assumed.  If more than one termname	is specified, the -d option
  is assumed.


      Compiled terminal	description database.


  Commands:  captoinfo(1), tic(1)

  Functions:  curses(3)

  Files:  terminfo(4)