colorschemes icon indicating copy to clipboard operation
colorschemes copied to clipboard

We need to talk about desert

Open romainl opened this issue 3 years ago • 3 comments

This is the original desert in the MacVim GUI:

Capture d’écran 2022-09-30 à 08 22 39
$ vim --clean +so\ /path/to/vim-colorschemes/legacy_colors/desert.vim -g

And this is the remake in the MacVim GUI:

Capture d’écran 2022-09-30 à 08 25 36
$ vim --clean +color\ desert -g

Quite faithful, right? But that weird highlighting for the startup message is bugging me. It uses Normal on top of NonText and, since they have different backgrounds, it creates a surprising "knock out" effect.

Can we do something about it? Should we?

FWIW, it also happens in evening, morning, and ron.

romainl avatar Sep 30 '22 06:09 romainl

This is the same issue @neutaaaaan was about in https://github.com/vim/vim/issues/11177

As of now only 2 terminals are known to be affected, urxvt and Terminal.app

Not sure if this is vim or terminal issue.

PS, we can workaround this in colorschemes, but not sure if we should.

PPS, actually, I am not sure if we can workaround it.

habamax avatar Sep 30 '22 06:09 habamax

Well, I am wrong, this is a different issue. And affects all terminals.

habamax avatar Sep 30 '22 06:09 habamax

So I'm reviving this thread with an ugly screenshot:

Capture d’écran 2023-02-26 à 09 02 51

After further investigations, it appears that NonText is not at fault, here. What we see is, if I understand it correctly, a side effect of having a different background for Normal and EndOfBuffer:

Capture d’écran 2023-02-26 à 09 21 43

The intro text uses Normal while the rest uses EndOfBuffer.

Possible solutions:

  • Leave it like this.

    PROS:

    • the OGs were already like that
    • that screen is not supposed to be seen that often

    CONS:

    • it's really jarring
    • it doesn't look "professional" at all
  • in the colorscheme, use the same background for both groups.

    PROS:

    • most built-in colorschemes do it that way so it would add consistency
    • most if not all modern colorschemes do it that way, too
    • it's simpler

    CONS:

    • it kind of betrays the intent of the OG
  • In Vim, use EndOfBuffer for the intro instead of Normal.

    PROS:

    • no work on our side
    • applies to every colorscheme in existence automagically

    CONS:

    • some EndOfBuffer are really funky, which would make the intro weird
  • In Vim, use a different "private" group that would be like Normal for the foreground and either like EndOfBuffer for the background or transparent.

    PROS:

    • no work on our side
    • applies to every colorscheme in existence automagically

    CONS:

    • maybe it is hard to do or brittle

romainl avatar Feb 26 '23 08:02 romainl