diff --git a/kitty/cell_fragment.glsl b/kitty/cell_fragment.glsl index 6a745c188..f36c96404 100644 --- a/kitty/cell_fragment.glsl +++ b/kitty/cell_fragment.glsl @@ -130,7 +130,7 @@ void main() { #ifdef BACKGROUND #if defined(TRANSPARENT) - final_color = vec4(background.rgb * bg_alpha, bg_alpha * draw_bg); + final_color = vec4(background.rgb * bg_alpha, bg_alpha); #else final_color = vec4(background.rgb, draw_bg); #endif diff --git a/kitty/cell_vertex.glsl b/kitty/cell_vertex.glsl index e4fc46db0..9ec87467d 100644 --- a/kitty/cell_vertex.glsl +++ b/kitty/cell_vertex.glsl @@ -209,6 +209,7 @@ void main() { // Background {{{ #ifdef NEEDS_BACKROUND float cell_has_non_default_bg = step(1, float(abs(bg_as_uint - default_colors[bg_index]))); + draw_bg = 1; #if defined(BACKGROUND) background = bg; @@ -229,6 +230,7 @@ void main() { bg_alpha = step(0.5, is_special_cell); #ifndef SPECIAL bg_alpha = bg_alpha + (1.0f - bg_alpha) * background_opacity; + bg_alpha *= draw_bg; #endif #endif