alacritty
alacritty copied to clipboard
Support XTGETTCAP/XTSETTCAP sequences
Right now, Alacritty requires installing the terminal Terminfo in each machine Alacritty is running on. This is fine until we include remote sessions in the equation. On remote sessions (e.g. SSH), Terminfo databases are not always available and are sometimes not up to date.
See: https://invisible-island.net/xterm/ctlseqs/ctlseqs.html#h3-Device-Control-functions
Right now, Alacritty requires installing the terminal Terminfo in each machine Alacritty is running on
it's a part of ncurses project, if you want any terminfo you need ncurses, thus it'll have alacritty as a part of it. This is true for years. And it's spread across a lot of hosts, except for ancient ones.
And I doubt any of them support XTGETTCAP sequence. This sequence is mostly used by modern applications to account for new terminals or if they don't want to touch terminfo databases for whatever reason. Some apps will refuse to use XTGETTCAP if the TERM is not xterm for example, thus the escape is questionable.
However, we have an issue for it in https://github.com/alacritty/vte/issues/98 . It's just your motivation is not the one backed by this escape with app developers, they use it to detect non-standard features, which are not part of the terminfo, like tmux extensions.
it's a part of ncurses project, if you want any terminfo you need ncurses, thus it'll have alacritty as a part of it. This is true for years. And it's spread across a lot of hosts, except for ancient ones.
That's true, terminfo started as a part of ncurses and it is an extension to termcap (thus the sequence name XTGETTCAP). Most hosts come with some version of ncurses, not necessarily always up to date. For example, macOS comes with ncurses pre-installed but out of date and lacks terminfo databases for tmux, alacritty, and kitty. Window doesn't come with terminfo installed.
And I doubt any of them support
XTGETTCAPsequence.
Many terminals support the sequence, kitty, iterm2, and foot to name a few.
This sequence is mostly used by modern applications to account for new terminals or if they don't want to touch terminfo databases for whatever reason.
Exactly! We don't need to depend on ncurses for modern applications to work correctly. Remote sessions can also benefit from this. Running modern applications on Windows will also benefit from this.