1010from event_bus import EventBus
1111from plain2code_events import (
1212 LogMessageEmitted ,
13- PauseRequested ,
1413 RenderCompleted ,
1514 RenderContextSnapshot ,
1615 RenderFailed ,
@@ -66,6 +65,7 @@ def __init__(
6665 conformance_tests_script : str ,
6766 prepare_environment_script : str ,
6867 state_machine_version : str ,
68+ pause_event : threading .Event | None = None ,
6969 ** kwargs ,
7070 ):
7171 super ().__init__ (** kwargs )
@@ -77,6 +77,7 @@ def __init__(
7777 self .conformance_tests_script : Optional [str ] = conformance_tests_script
7878 self .prepare_environment_script : Optional [str ] = prepare_environment_script
7979 self .state_machine_version = state_machine_version
80+ self .pause_event = pause_event
8081 self ._render_finished = False
8182
8283 # Initialize state handlers
@@ -283,9 +284,13 @@ async def action_copy_selection(self) -> None:
283284
284285 def action_pause (self ) -> None :
285286 """Handle ctrl+shift+p: request the render machine to pause."""
286- if not self ._render_finished :
287+ if not self ._render_finished and self . pause_event is not None :
287288 set_frid_progress_to_paused (self )
288- self .event_bus .publish (PauseRequested ())
289+
290+ if self .pause_event .is_set ():
291+ self .pause_event .clear ()
292+ else :
293+ self .pause_event .set ()
289294
290295 def action_enter_exit (self ) -> None :
291296 """Handle enter: exit the TUI only after rendering has finished."""
0 commit comments