From 18abd21a9fe78266dd2ea6361864f08136041ebe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Istv=C3=A1n=20V=C3=A1radi?= Date: Wed, 8 Jul 2026 15:47:55 +0200 Subject: [PATCH] Remove timer when scroll finished If smooth scrolling has reached its target, scroll_animation_tick() clears the timer ID in the animation object. However, the timer was not removed, which resulted in the timers potentially accumulating and preventing the creation of new timers eventually. This caused smooth scrolling to stop working in the terminal. --- kitty/window.py | 1 + 1 file changed, 1 insertion(+) diff --git a/kitty/window.py b/kitty/window.py index 097693b47..794d3bb7d 100644 --- a/kitty/window.py +++ b/kitty/window.py @@ -2461,6 +2461,7 @@ class Window: if progress >= 1.0: # Ensure we land exactly on a line boundary with pixel_scroll_offset_y = 0 self.screen.scroll_to_absolute(max(0, a.start_scrolled_by - a.total)) + remove_timer(a.timer) a.timer = 0 else: # Use absolute positioning to avoid pixel rounding errors from incremental fractional scrolls