Skip to content

Color terminfo confusion: Co, initp, setab, setaf! #4172

Closed
@ctrlcctrlv

Description

@ctrlcctrlv

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:

	colors#0x1000000,

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions