Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Non-transparent command line when multigrid is enabled #1508

Open
AckslD opened this issue Aug 26, 2022 · 6 comments
Open

Non-transparent command line when multigrid is enabled #1508

AckslD opened this issue Aug 26, 2022 · 6 comments
Labels
bug Something isn't working neovim-upstream Requires/is blocked on a change in Neovim itself

Comments

@AckslD
Copy link

AckslD commented Aug 26, 2022

Describe the bug
When using --multigrid the command line is for some reason not transparent. See screenshot below which shows to equivalent instances where the only difference is that the left uses multigrid.

To Reproduce
Steps to reproduce the behavior:

  1. Open neovide with multigrid.
  2. Do :highlight MsgArea guifg=#ffffff guibg=none
  3. See that the command line is black instead of transparent.

Expected behavior
Transparent command line.

Screenshots
gscreenshot_2022-08-26-093124

Desktop (please complete the following information):

  • OS: arch linux 5.19.3-arch1-1
  • Neovide Version 0.10.1
  • Neovim Version v0.8.0-dev-938-g3b2121cedf

Additional
Possibly related to #1387

@AckslD AckslD added the bug Something isn't working label Aug 26, 2022
@Pangoraw
Copy link
Contributor

Pangoraw commented Sep 8, 2022

Since #1199, it seems you need to explicitely set the winblend and pumblend options.

@MultisampledNight
Copy link
Contributor

Unrelated, unfortunately. Even with :set winblend=60 pumblend=60 this is reproducable.

@falcucci
Copy link
Member

falcucci commented Apr 19, 2023

this issue still exists.

// grid_renderer.rs

if is_floating {
    self.paint
        .set_alpha((255.0 * ((100 - style.blend) as f32 / 100.0)) as u8);
} else if (SETTINGS.get::<WindowSettings>().transparency - 1.0).abs() > f32::EPSILON
    // Only make background color transparent
    && self.paint.color() == self.get_default_background()
{
    self.paint.set_alpha(0);
}

probably the logic must be updated here.

i'll check it when I have some time.

#1819

@fredizzimo
Copy link
Member

With #1870, you can control the transparency of the commandline with the highlight group blend. And g:neovide_transparency also affects the command line.

But unfortunately, that is not enough, since you can't set blend for the default background it only affects floating windows(which the commandline technically is, see the blend documentation https://neovim.io/doc/user/syntax.html#%3Ahighlight. None as a workaround does also not work, since, none is specified as the default color, not transparent by the UI documentation https://neovim.io/doc/user/ui.html

So, we need this fix neovim/neovim#24472.

@fredizzimo fredizzimo added the upstream Related to a library used in neovide label Jul 31, 2023
@fredizzimo fredizzimo added neovim-upstream Requires/is blocked on a change in Neovim itself and removed upstream Related to a library used in neovide labels Aug 7, 2023
@falcucci
Copy link
Member

falcucci commented Jan 17, 2024

@fredizzimo thank you. that's a well made explanation.

I guess this also impacts the treesitter highlight, which would be also amazing to fix.

look to the green grid highlighted bellow. It should always have 1.0 as opacity.

CleanShot.2024-01-17.at.18.24.12.mp4

@fredizzimo
Copy link
Member

I created a proposal for dealing with global transparency

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working neovim-upstream Requires/is blocked on a change in Neovim itself
Projects
None yet
5 participants