On Terminal Control


I definitely have sympathy for the view expressed in the article, and ncurses does have a lot of weird limitations that don’t reflect the way modern terminals work, but …

sadly, true color isn’t supported on many terminals, urxvt tragically included.

… is kind of in conflict with …

being compatible only with ANSI-capable terminals is a feature, not a bug, go the fuck away.

rxvt is probably the most popular terminal that’s deliberately incompatible with xterm; most others set $TERM to xterm-256color and therefore at least try to support most of xterm’s features even though they don’t always line up in practice. If you’re doing anything even slightly non-trivial, supporting both xterm and rxvt will require some kind of abstraction, and terminfo is pretty low-level.