neovide/neovide

Unexpected(?): blend in highlight group causes desktop wallpaper to be seen

mizlan opened this issue · 3 comments

Describe the bug

It seems that blend on a non-floating window should not really have an effect, or rather should blend into the Normal bg. Honestly I'm not too sure.

To Reproduce
Steps to reproduce the behavior:

  1. Pick some colorscheme that uses blend. e.g., Rose Pine Dawn
  2. Notice how the diff highlight group causes transparency (e.g., in vim-fugitive)

Expected behavior
Should not be see-through, rather should blend with Normal bg (?)

Screenshots

Screenshot 2024-01-30 at 10 03 24 AM

Desktop (please complete the following information):

  • OS: macOS Sonoma 14.1.1
  • Neovide Version 0.12.1
  • Neovim Version v0.10.0-dev-1999+g6f6abd8c0

Please run neovide --log and paste the contents of the .log file created in the current directory here:

See this pastebin link (GitHub complains that it's too long): https://clbin.com/AMfTx

Additional context
N/A

You are correct that according to the documentation, this should not happen. https://neovim.io/doc/user/syntax.html#highlight-blend

Override the blend level for a highlight group within the popupmenu
or floating windows. Only takes effect if 'pumblend' or 'winblend'
is set for the menu or window. See the help at the respective option.

In practice we follow the UI protocol https://neovim.io/doc/user/ui.html, which doesn't even let us know if those options are set or not. We are just provided the blend value, which we use. So, there's not much we can do without more upstream Neovim support.

And actually, I do think we want this and more to be customizable, so that color schemes can define exactly which elements should be transparent, and therefore applied to all elements.

Interesting, thanks for the prompt reply. I'm out of my depth here, so I hope this can be fixed, but in the meantime I'll fork the colorscheme I'm using.

I'm encountering this same issue on MacOS with the rose pine theme. They use blending in the mode line of inactive windows so those all show the desktop. Is there a way to turn off blending with content behind the window completely? I don't like window transparency so I'd be happy if the colors looked the same as a regular terminal like alacritty. Thanks!