From ca882a622674c709a960315f67ec6be1d4a96673 Mon Sep 17 00:00:00 2001 From: chmanie Date: Sat, 27 May 2023 19:45:35 +0200 Subject: [PATCH] Handle quit properly --- cbd-tui/src/main.rs | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/cbd-tui/src/main.rs b/cbd-tui/src/main.rs index 3142897..12d4074 100644 --- a/cbd-tui/src/main.rs +++ b/cbd-tui/src/main.rs @@ -354,7 +354,6 @@ enum MessageToUi { // FIXME: Rename this enum MessageFromUi { - Quit, GetLibraryNode(String), ReplaceWithItem(String, UiItemKind), SetCurrentTrack(usize), @@ -369,9 +368,6 @@ async fn poll( select! { Ok(msg) = &mut rx.recv_async() => { match msg { - MessageFromUi::Quit => { - return Ok(()); - }, MessageFromUi::GetLibraryNode(uuid) => { if let Some(node) = rpc_client.get_library_node(&uuid).await? { tx.send(MessageToUi::ReplaceLibraryNode(node.clone())); @@ -445,14 +441,12 @@ async fn main() -> Result<(), Box> { let (ui_tx, rx): (Sender, Receiver) = flume::unbounded(); let (tx, ui_rx): (Sender, Receiver) = flume::unbounded(); - thread::spawn(|| { - run_ui(ui_tx, ui_rx); - }); - // FIXME: unwrap tokio::spawn(async move { orchestrate((tx, rx)).await.ok() }); - signal::ctrl_c().await.unwrap(); + tokio::task::spawn_blocking(|| { + run_ui(ui_tx, ui_rx); + }).await; Ok(()) } @@ -499,7 +493,6 @@ fn run_ui(tx: Sender, rx: Receiver) { if key.kind == KeyEventKind::Press { match (app.focus, key.modifiers, key.code) { (_, KeyModifiers::NONE, KeyCode::Char('q')) => { - tx.send(MessageFromUi::Quit); break; } (_, KeyModifiers::NONE, KeyCode::Tab) => app.cycle_active(),