diff --git a/src/calendar_manager.py b/src/calendar_manager.py index b6d9a101..c571ef4e 100644 --- a/src/calendar_manager.py +++ b/src/calendar_manager.py @@ -260,6 +260,12 @@ class CalendarManager: # Update the display self.display_manager.update_display() logging.debug("CalendarManager event display updated.") - - # Increment index for next call - self.current_event_index += 1 \ No newline at end of file + + def advance_event(self): + """Advance to the next event. Called by DisplayManager when calendar display time is up.""" + if not self.events: + return + self.current_event_index += 1 + if self.current_event_index >= len(self.events): + self.current_event_index = 0 + logging.debug(f"CalendarManager advanced to event index {self.current_event_index}") \ No newline at end of file diff --git a/src/display_controller.py b/src/display_controller.py index 1472d4fb..863e2e59 100644 --- a/src/display_controller.py +++ b/src/display_controller.py @@ -346,6 +346,8 @@ class DisplayController: logger.info(f"Switching to: {self.current_display_mode}") self.force_clear = True self.last_switch = current_time + if self.current_display_mode != 'calendar' and self.calendar: + self.calendar.advance_event() # Display current mode frame (only for non-live modes) try: