diff options
| author | Ogulcan Celik <ogulcancelik@gmail.com> | 2026-05-28 04:11:56 +0300 |
|---|---|---|
| committer | Ogulcan Celik <ogulcancelik@gmail.com> | 2026-05-28 04:12:53 +0300 |
| commit | bf9cc201244946496b4d950046bf7edcc4892994 (patch) | |
| tree | 920c866e67783cf31d2feff9642457204999c8eb /src/app/creation.rs | |
| parent | 789738cada5afaa20bbd77a0d479fb689c455bfe (diff) | |
fix: preserve live handoff terminal state
Diffstat (limited to 'src/app/creation.rs')
| -rw-r--r-- | src/app/creation.rs | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/app/creation.rs b/src/app/creation.rs index a034fdc4..aa727dd5 100644 --- a/src/app/creation.rs +++ b/src/app/creation.rs @@ -112,8 +112,10 @@ impl App { self.state.host_terminal_theme, &self.state.default_shell, )?; + let root_pane = ws.tabs[idx].root_pane; self.terminal_runtimes.insert(terminal.id.clone(), runtime); self.state.terminals.insert(terminal.id.clone(), terminal); + self.state.remove_alias_shadowed_by_new_pane(root_pane); if focus { self.state.switch_workspace_tab(ws_idx, idx); self.state.mode = Mode::Terminal; @@ -149,6 +151,8 @@ impl App { self.state.terminals.insert(terminal.id.clone(), terminal); self.state.workspaces.push(ws); let idx = self.state.workspaces.len() - 1; + self.state + .remove_alias_shadowed_by_new_pane(self.state.workspaces[idx].tabs[0].root_pane); let workspace_id = self.state.workspaces[idx].id.clone(); let root_pane = self.state.workspaces[idx].tabs[0].root_pane.raw(); crate::logging::workspace_created(&workspace_id, root_pane); |
