akiyosi / goneovim

A GUI frontend for neovim.
MIT License
2.41k stars 63 forks source link

Telescope overlay transparency #483

Closed bfulop closed 1 year ago

bfulop commented 1 year ago

Hello,

I have recently discovered that Goneovim offers true transparency when setting the winblend or pumblend options ! šŸŽ‰

Not only emulated transparency like you see in terminals, but I can actually see the text beneath the text of the popups! šŸ‘

I've noticed however that for the Telescope pickers, the border area has a higher transparency than the inside of the overlay. The inside retains some transparency too, but it seems about only 50% of transparency of the border area.

In the attached image, the line export type EOf = is partially under the the Telescope file picker. The letter p has some transparency while the rest of the text is hardly visible.

Telescope over some text

This is of course not a breaking issue, just something I noticed...

My telescope settings:

telescope.setup {
  tiebreak = function() return false end,
  defaults = {
    winblend = 15,
    path_display = {
      truncate = 2
    },
...
   }
  }
}

And an example of a hover popup that shows the "true transparency", behind the <R, E, A> text

true transparency
akiyosi commented 1 year ago

@bfulop Hi :) Yes, goneovim supports the winblend, pumblend option. Regarding the telescope issue you pointed out, this is because telescope's UI consists of multiple float windows stacked on top of each other.

Goneovim's UI is a multi-grid UI, where each buffer or window is drawn on a separate sheet, called a grid. In contrast, TUI and Neovim-qt are single-grid, meaning that all buffers and windows are represented on a single grid. This difference allows, for example, multi-grid UIs to achieve full transparency instead of emulated transparency. On the other hand, due to the architecture of the multigrid UI, when multiple transparent windows overlap, the content at the bottom is more difficult to see than if it were covered by a single transparent window.

bfulop commented 1 year ago

Hello akiyosi,

Thanks for the detailed explanation! It's not a big issue, and I understand now that it's more on the Telescope side to potentially add this improvement.

bfulop commented 1 year ago

Update:

I added border = false and it seems to remove the extra level of nesting of the overlays in Telescope. This solved the issue for me.