aboutsummaryrefslogtreecommitdiff
path: root/src/app/creation.rs
diff options
context:
space:
mode:
authorOgulcan Celik <ogulcancelik@gmail.com>2026-05-28 04:11:56 +0300
committerOgulcan Celik <ogulcancelik@gmail.com>2026-05-28 04:12:53 +0300
commitbf9cc201244946496b4d950046bf7edcc4892994 (patch)
tree920c866e67783cf31d2feff9642457204999c8eb /src/app/creation.rs
parent789738cada5afaa20bbd77a0d479fb689c455bfe (diff)
fix: preserve live handoff terminal state
Diffstat (limited to 'src/app/creation.rs')
-rw-r--r--src/app/creation.rs4
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);