Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: [PATCH] Support true colours via termcap interface



> @@ -1652,8 +1652,10 @@ match_colour(const char **teststrp, int is_fg, int colour)
On Sun, 3 Feb 2019 at 22:57, Daniel Tameling <tamelingdaniel@xxxxxxxxx> wrote:
>
> Dear all,
>
> ncurses recently added support for 24 bit colour terminals. It kind of
> works out of the box with zsh, except for the hardcoded 256 colour
> limit in match_colour. olor.red << 8) + color.green) << 8) + color.blue;
(...)
>
> -               return on | (is_fg ? TXT_ATTR_FG_24BIT : TXT_ATTR_BG_24BIT) |
> -                       (zattr)colour << shft;
> +                if (tccolours != 0x1000000 || colour < 8) {
> +                        return on | (is_fg ? TXT_ATTR_FG_24BIT :
> +                                     TXT_ATTR_BG_24BIT) | (zattr)colour << shft;
> +                }
>             } else if (colour <= -2) {
>                 return TXT_ERROR;
>             }

I wonder what this change causes. Because to use the termcap for 24
bit sequences, noe would have to lessen the following conditions in
set_colour_attribute():

Line 2040:     if (!def && !use_truecolor &&
Line 2041:        (is_default_zle_highlight && (colour > 7 || use_termcap)))
Line 2042:    {

I.e. remove  or in other way lessen the use_truecolor condition.
Without this the true color output will be bypassing termcap.

Currently, the code  `print -P %F{16763955} ' DOESN'T work, so your
change does something that makes it working, however the first code
example:

print -P %F{'#ffcc33'} test

Works with current code (ie. without the patch).
-- 
Sebastian Gniazdowski
News: https://twitter.com/ZdharmaI
IRC: https://kiwiirc.com/client/chat.freenode.net:+6697/#zplugin
Blog: http://zdharma.org



Messages sorted by: Reverse Date, Date, Thread, Author