Date: Fri, 21 Feb 2014 13:05:52 +0100 From: Ed Schouten <ed@80386.nl> To: Bryan Drewery <bdrewery@freebsd.org> Cc: arch@freebsd.org Subject: Re: terminfo Message-ID: <CAJOYFBCMS4k7pyRk2YHZm81F6iP=SApZhbCm0MO4P-pvXbTCxQ@mail.gmail.com> In-Reply-To: <5304A0CC.5000505@FreeBSD.org> References: <5304A0CC.5000505@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Hi Bryan, On 19 February 2014 13:17, Bryan Drewery <bdrewery@freebsd.org> wrote: > Why do we not use terminfo? Our termcap is quite aged and missing a lot > of modern terminals/clients. It is true that our termcap is quite aged, but the fact is, once you add entries for a certain terminal, there's little need to update it after that. ncurses itself is not really a moving target. What kind of modern terminals/clients are missing? > Using terminfo would allow us to use the already well maintained database from ncurses. Is it just a matter of someone doing the work or are there other reasons? It's just a matter of someone doing the work. It would be nice if we ever made this change. On the other hand, I might have a radical point of view here: maybe we could consider taking the approach of sticking to termcap and installing /etc/termcap.small as the system's default termcap. Or maybe patch up our termcap routines to just hardcode the sequences. I won't deny that termcap was really useful at one point in time, but let's be honest: the variety of terminals out there has massively dropped over time. Terminal emulation has become a solved problem. As of FreeBSD 9, syscons supports all the sequences described in xterm-256color, though it isn't able to print more than 8 colours, which is why we use TERM=xterm. Tools like screen, tmux, etc., they use a different TERM type, but this is mainly used to detect whether the process is running inside of screen or tmux. It does not strongly affect the kinds of sequences that are being emitted. They work perfectly fine if you just set TERM to xterm or xterm-256color. I suspect the following logic would be sufficient for at least 99.5% of our users: if $TERM contains 256 use xterm-256color else use xterm It's a shame I am so short on time nowadays, but I think it would make so much sense to just come up with some kind of document that standardizes the intersection of the features supported by most common terminal emulators and get it rubber stamped by the maintainers of various terminal emulators. If it turns out some kind of terminal emulator does something in a non-standard way, we can just slap this document in the author's face. That would not only benefit FreeBSD, but also most of the other flavours of UNIX. $TERM should die. -- Ed Schouten <ed@80386.nl>
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAJOYFBCMS4k7pyRk2YHZm81F6iP=SApZhbCm0MO4P-pvXbTCxQ>