From 85d47dc64b717ad6237374d683ea1ef8e0ef70a9 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Tue, 11 Mar 2025 10:07:30 +0530 Subject: [PATCH] Fix too many timers used for clearing progress --- kitty/window.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/kitty/window.py b/kitty/window.py index 2ddcc977e..e029dcf00 100644 --- a/kitty/window.py +++ b/kitty/window.py @@ -635,6 +635,7 @@ def __init__( self.last_resized_at = 0. self.started_at = monotonic() self.created_at = time_ns() + self.clear_progress_timer: int = 0 self.current_remote_data: list[str] = [] self.current_mouse_event_button = 0 self.current_clipboard_read_ask: bool | None = None @@ -1134,7 +1135,8 @@ def clear_progress_if_needed(self, timer_id: int | None = None) -> None: if (tab := self.tabref()) is not None: tab.update_progress() else: - add_timer(self.clear_progress_if_needed, 1.0, False) + if (timer_id is None and not self.clear_progress_timer) or timer_id is not None: + self.clear_progress_timer = add_timer(self.clear_progress_if_needed, 1.0, False) def on_mouse_event(self, event: dict[str, Any]) -> bool: event['mods'] = event.get('mods', 0) & mod_mask