Skip to content

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

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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions