Files
TheaninovOS/kitty.patch
2024-07-01 15:01:37 +02:00

36 lines
1.6 KiB
Diff

diff --git a/kitty/cell_fragment.glsl b/kitty/cell_fragment.glsl
index ac310dd1f..dfab7e30a 100644
--- a/kitty/cell_fragment.glsl
+++ b/kitty/cell_fragment.glsl
@@ -169,7 +169,7 @@ void main() {
vec4 text_fg_premul = calculate_premul_foreground_from_sprites(text_fg);
#ifdef TRANSPARENT
final_color = alpha_blend_premul(text_fg_premul, vec4_premul(background, bg_alpha));
- final_color.a = adjust_alpha_for_incorrect_blending_by_compositor(text_fg_premul.a, final_color.a);
+ // final_color.a = adjust_alpha_for_incorrect_blending_by_compositor(text_fg_premul.a, final_color.a);
#else
final_color = alpha_blend_premul(text_fg_premul, background);
#endif
@@ -197,7 +197,7 @@ void main() {
vec4 text_fg_premul = calculate_premul_foreground_from_sprites(text_fg);
final_color = text_fg_premul;
#ifdef TRANSPARENT
- final_color.a = adjust_alpha_for_incorrect_blending_by_compositor(text_fg_premul.a, final_color.a);
+ // final_color.a = adjust_alpha_for_incorrect_blending_by_compositor(text_fg_premul.a, final_color.a);
#endif
#endif
diff --git a/kitty/shaders.c b/kitty/shaders.c
index bcda16822..4f38c4388 100644
--- a/kitty/shaders.c
+++ b/kitty/shaders.c
@@ -914,7 +914,7 @@ draw_cells_interleaved_premult(ssize_t vao_idx, Screen *screen, OSWindow *os_win
void
blank_canvas(float background_opacity, color_type color) {
// See https://github.com/glfw/glfw/issues/1538 for why we use pre-multiplied alpha
-#define C(shift) srgb_color((color >> shift) & 0xFF)
+#define C(shift) srgb_color((color >> shift) & 0xFF) * background_opacity
glClearColor(C(16), C(8), C(0), background_opacity);
#undef C
glClear(GL_COLOR_BUFFER_BIT);