From 6bbb4f5de8939b6a6e97c820bf9cebafc50f8389 Mon Sep 17 00:00:00 2001 From: Chuck <33324927+ChuckBuilds@users.noreply.github.com> Date: Sun, 27 Jul 2025 12:56:17 -0500 Subject: [PATCH] trying to make news scroll smoother --- src/news_manager.py | 30 +++++++++++++++++++----------- 1 file changed, 19 insertions(+), 11 deletions(-) diff --git a/src/news_manager.py b/src/news_manager.py index 9d6943fc..8af61ccf 100644 --- a/src/news_manager.py +++ b/src/news_manager.py @@ -430,19 +430,26 @@ class NewsManager: finally: self.is_fetching = False - # Get the current news display image - img = self.get_news_display() + # Run continuous scrolling loop for smooth animation + start_time = time.time() + duration = self.get_dynamic_duration() - # Set the image and update display - self.display_manager.image = img - self.display_manager.update_display() + while time.time() - start_time < duration: + # Get the current news display image + img = self.get_news_display() + + # Set the image and update display + self.display_manager.image = img + self.display_manager.update_display() + + # Add the scroll delay to control speed + time.sleep(self.scroll_delay) + + # Debug: log scroll position + if hasattr(self, 'scroll_position') and hasattr(self, 'total_scroll_width'): + logger.debug(f"Scroll position: {self.scroll_position}/{self.total_scroll_width}") - # Add the scroll delay to control speed - time.sleep(self.scroll_delay) - - # Debug: log scroll position - if hasattr(self, 'scroll_position') and hasattr(self, 'total_scroll_width'): - logger.debug(f"Scroll position: {self.scroll_position}/{self.total_scroll_width}") + return True except Exception as e: logger.error(f"Error in news display: {e}") @@ -450,6 +457,7 @@ class NewsManager: error_img = self.create_error_image(str(e)) self.display_manager.image = error_img self.display_manager.update_display() + return False def run_news_display(self): """Standalone method to run news display in its own loop"""