Remove note in docs about non-linear opacity as it no longer applies

This commit is contained in:
Kovid Goyal
2025-08-02 08:54:43 +05:30
parent 99b7da63a8
commit 67fa0f9043
2 changed files with 3 additions and 8 deletions

View File

@@ -1592,11 +1592,7 @@ launch your editor. See also :opt:`transparent_background_colors`.
Be aware that using a value less than 1.0 is a (possibly
significant) performance hit. When using a low value for this setting, it is
desirable that you set the :opt:`background` color to a color the matches the
general color of the desktop background, for best text rendering. Note that
to workaround window managers not doing gamma-corrected blending kitty
makes background_opacity non-linear which means, especially for light backgrounds
you might need to make the value much lower than you expect to get good results,
see :iss:`6218` for details.
general color of the desktop background, for best text rendering.
If you want to dynamically change transparency of windows, set
:opt:`dynamic_background_opacity` to :code:`yes` (this is off by default as it

View File

@@ -16,7 +16,6 @@
/*
* TODO: for shader refactoring
* Check color fringing issues and background lightness issues are properly fixed
* Port graphics rendering to start use a dummy 1 pixel empty texture then possibly replace with defines so that the most
* common use case of no graphics has zero performance overhead.
* Convert all images loaded to GPU to linear space for correct blending or alternately do conversion to linear space in
@@ -638,7 +637,7 @@ viewport_for_cells(const CellRenderData *crd) {
}
static void
draw_cells_simple(Screen *screen, bool is_semi_transparent) {
draw_cells_with_layers(Screen *screen, bool is_semi_transparent) {
if (is_semi_transparent) {
bind_program(CELL_TRANSPARENT_PROGRAM);
glDisable(GL_FRAMEBUFFER_SRGB);
@@ -946,7 +945,7 @@ draw_cells(ssize_t vao_idx, const WindowRenderData *srd, OSWindow *os_window, bo
has_underlying_image |= grd.num_of_below_refs > 0 || grd.num_of_negative_refs > 0;
(void)has_underlying_image;
bool is_semi_transparent = os_window->is_semi_transparent && min_bg_opacity < 1.;
draw_cells_simple(screen, is_semi_transparent);
draw_cells_with_layers(screen, is_semi_transparent);
draw_scroll_indicator(is_semi_transparent, screen, &crd);
if (screen->start_visual_bell_at) {