> Do you still need terminfo?
Here is one way to answer the question.
- ANSI escape sequences are a standard, and have been around since, what, 1976? Almost fifty years.
- POSIX doesn't specify terminfo.
- POSIX describes a tput utility command which supports only three operands: clear, init and reset, and mentions the TERM variable without giving concrete requirements about it.
Clearly, the standard-conforming, richly functional solution is to use the ECMA/ANSI control sequences!
terminfo is nonstandard, vendor-specific, legacy Unix cruft, standardizing which POSIX was not up to the task.
Any purely software based terminal emulator you're likely to come across will speak ANSI. Where you have the support problem is with legacy terminal hardware.
What is worse:
- our program that uses ANSI escapes not working with someone's nonstandard hardware terminal, but otherwise being highly portable; or
- our program requiring termios not working with any terminal, when ported to a certain platform, due to lack of termios on that platform.
Here is one way to answer the question.
- ANSI escape sequences are a standard, and have been around since, what, 1976? Almost fifty years.
- POSIX doesn't specify terminfo.
- POSIX describes a tput utility command which supports only three operands: clear, init and reset, and mentions the TERM variable without giving concrete requirements about it.
Clearly, the standard-conforming, richly functional solution is to use the ECMA/ANSI control sequences!
terminfo is nonstandard, vendor-specific, legacy Unix cruft, standardizing which POSIX was not up to the task.
Any purely software based terminal emulator you're likely to come across will speak ANSI. Where you have the support problem is with legacy terminal hardware.
What is worse:
- our program that uses ANSI escapes not working with someone's nonstandard hardware terminal, but otherwise being highly portable; or
- our program requiring termios not working with any terminal, when ported to a certain platform, due to lack of termios on that platform.