From e9ffe739064cf9227ac9c417ef79b7ed54438444 Mon Sep 17 00:00:00 2001 From: Vinny Meller Date: Wed, 22 Jan 2025 05:34:46 +0000 Subject: [PATCH] fix: defer entering tui until needed --- src/handler.rs | 3 +++ src/ui/tui.rs | 3 +-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/handler.rs b/src/handler.rs index fcef409..8d1781a 100644 --- a/src/handler.rs +++ b/src/handler.rs @@ -139,6 +139,7 @@ before running this command again.", pub fn handle_existing_session_selection(args: &Arguments, tui: &mut Tui) -> Result<()> { let existing_sessions = get_tmux_sessions()?; + tui.enter()?; let session_name = match Picker::new( &existing_sessions, "Select an existing session to attach to: ".into(), @@ -159,6 +160,7 @@ pub fn handle_existing_session_selection(args: &Arguments, tui: &mut Tui) -> Res pub fn handle_group_session_selection(args: &Arguments, tui: &mut Tui) -> Result<()> { let existing_sessions = get_tmux_sessions()?; + tui.enter()?; let group_session_name = match Picker::new( &existing_sessions, "Select a session to group with: ".into(), @@ -194,6 +196,7 @@ pub fn handle_workspace_selection(args: &Arguments, tui: &mut Tui) -> Result<()> find_workspaces_in_dir(dir, &config, injector.clone()) } }); + tui.enter()?; match picker.get_selection(tui)? { PickerSelection::None => anyhow::bail!("No workspace selected"), PickerSelection::Selection(s) => (s, false), diff --git a/src/ui/tui.rs b/src/ui/tui.rs index 6520402..98b4526 100644 --- a/src/ui/tui.rs +++ b/src/ui/tui.rs @@ -25,8 +25,7 @@ impl Tui { let backend = CrosstermBackend::new(std::io::stderr()); let terminal = Terminal::new(backend)?; let events = EventHandler::new(Duration::from_millis(15)); - let mut tui = Self::new(terminal, events); - tui.enter()?; + let tui = Self::new(terminal, events); Ok(tui) }