Kitty's terminfo seems very unreliable when it comes to reporting its actual color capabilities.
For the purposes of this issue, I will refer repeatedly to the terminfo(5) manpage.
Let's consider the case of Co, colors:
$ infocmp -1 | grep colors
colors#0x100,
So, Kitty reports being able to display only 256 colors at a time. (Co being maximum colors on screen.) Clearly this is not so, Kitty supports truecolor. So, I'd expect:
initp is altogether missing, despite the fact that init_pair works as expected in ncurses. What?
setab and setaf contain:
$ infocmp -1 | grep seta[bf]
setab=\E[%?%p1%{8}%<%t4%p1%d%e%p1%{16}%<%t10%p1%{8}%-%d%e48;5;%p1%d%;m,
setaf=\E[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;%p1%d%;m,
However, as mentioned, we know it is a fact that Kitty supports truecolor, i.e., xterm-direct. So, I'd expect this output instead:
$ infocmp xterm-direct -1 | grep seta[bf]
setab=\E[%?%p1%{8}%<%t4%p1%d%e48\:2\:\:%p1%{65536}%/%d\:%p1%{256}%/%{255}%&%d\:%p1%{255}%&%d%;m,
setaf=\E[%?%p1%{8}%<%t3%p1%d%e38\:2\:\:%p1%{65536}%/%d\:%p1%{256}%/%{255}%&%d\:%p1%{255}%&%d%;m,
Perhaps frustrated users of ncurses library aren't to blame for color related bugs in Kitty—that's my opinion upon seeing these terminfo shortcomings.
Kitty's terminfo seems very unreliable when it comes to reporting its actual color capabilities.
For the purposes of this issue, I will refer repeatedly to the
terminfo(5)manpage.Let's consider the case of
Co,colors:So, Kitty reports being able to display only 256 colors at a time. (
Cobeingmaximum colors on screen.) Clearly this is not so, Kitty supports truecolor. So, I'd expect:initpis altogether missing, despite the fact thatinit_pairworks as expected in ncurses. What?setabandsetafcontain:However, as mentioned, we know it is a fact that Kitty supports truecolor, i.e.,
xterm-direct. So, I'd expect this output instead:Perhaps frustrated users of ncurses library aren't to blame for color related bugs in Kitty—that's my opinion upon seeing these terminfo shortcomings.