diff --git a/kitty/trail_fragment.glsl b/kitty/trail_fragment.glsl index 082ded02e..6b2fee162 100644 --- a/kitty/trail_fragment.glsl +++ b/kitty/trail_fragment.glsl @@ -7,5 +7,11 @@ in vec2 frag_pos; out vec4 final_color; void main() { - final_color = vec4(trail_color, trail_opacity); + float opacity = trail_opacity; + // Dont render if fragment is within cursor area + float in_x = step(cursor_edge_x[0], frag_pos.x) * step(frag_pos.x, cursor_edge_x[1]); + opacity *= 1.0f - in_x; + float in_y = step(cursor_edge_y[0], frag_pos.y) * step(frag_pos.y, cursor_edge_y[1]); + opacity *= 1.0f - in_y; + final_color = vec4(trail_color, opacity); }