TERM=xterm-256color vs xterm+256color

Posted on

Problem :

I noticed debian ships with a terminfo xterm+256color while most other distros only have (and is the default in osx) xterm-256color

looking at the info on both, i can see that xterm+256color is very concise and lacks a lot of info… but from what i can tell, most that it lacks /seems/ to be old stuff with little use. e.g.


I don’t care much for both of those… now there is a ton of others that i’m not sure i need or not. My terminal certainly has 256 colors and IS NOT limited by 80 char… so i’m tending to use xterm+256color

Is there any article on that? a websearch on any search engine turns absolutely nothing for xterm+256color (well, it turns out a lot, but 100% is about only xterm-256color)

Solution :

There are several comments in the terminal database about “+” used as a convention for building blocks. For example:

# The descriptions with plus signs (+) are building blocks.

and is noted in the header of the database:

# Entries with embedded plus signs are designed to be included through use/tc
# capabilities, not used as standalone entries.

The convention was adopted ~20 years ago as an alternative to the various suffixes documented in term(7).

They are installed (along with everything else) because:

  • it is a convention (and tic, the terminfo compiler does not have special knowledge about it, hence it will not filter them out)
  • the terminal database can be updated piecemeal, with definitions which inherit (and build upon) other definitions in the database.

The building blocks are intentionally “incomplete”, because they contain useful sets of capabilities that might be used in different terminal descriptions, as well as making reusable parts for people whose custom configurations of terminals does not match any of the standard descriptions. If you read through the terminal database, you will see a number of use= clauses which combine blocks.

For example, xterm’s terminfo source includes a number of building-blocks to help document the various keyboard configurations.

Looking at the terminfo definitions (misc/terminfo.src inside the ncurses tarball) I have a feeling that terminal descriptions with + characters in their name are not complete descriptions, rather they are small building blocks from which the actually useful entries (e.g. xterm, xterm-256color) are built up.

I’m not sure why they are installed at all, maybe you can combine them later on with some special syntax in $TERM, I don’t know.

Leave a Reply

Your email address will not be published. Required fields are marked *