A
console application is considered to be
terminal independent when it uses at least one
layer of abstraction to interface with the user's
terminal or
terminal emulator.
Most
unix applications use the
curses/
ncurses libraries
as the abstraction, these libraries use the information stored in the
termcap/
terminfo databases in order to support hundreds different terminal types.
However, recently, many projects have switched to using
s-lang as their support library, although no one seems to
know why.