From 3c5dfa2ad615cab89b2701536688f8ce1e2fc0be Mon Sep 17 00:00:00 2001 From: monosans Date: Fri, 11 Apr 2025 08:13:14 +0300 Subject: [PATCH] fix docker running forever --- src/tui.rs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/tui.rs b/src/tui.rs index 9db7859..00d85ca 100644 --- a/src/tui.rs +++ b/src/tui.rs @@ -15,6 +15,7 @@ use tui_logger::{TuiLoggerWidget, TuiWidgetEvent, TuiWidgetState}; use crate::{ event::{AppEvent, AppMode, AppState, Event}, proxy::ProxyType, + utils::is_docker, }; const FPS: f64 = 30.0; @@ -63,7 +64,10 @@ pub(crate) async fn run( let crossterm_task = tokio::spawn(crossterm_event_listener(tx)); let mut app_state = AppState::new(); let logger_state = TuiWidgetState::default(); - while !matches!(app_state.mode, AppMode::Quit) { + let is_docker = is_docker().await; + while (is_docker && matches!(app_state.mode, AppMode::Running)) + || (!is_docker && !matches!(app_state.mode, AppMode::Quit)) + { if let Some(event) = rx.recv().await { if handle_event(event, &mut app_state, &logger_state) { terminal