aboutsummaryrefslogtreecommitdiff
path: root/src/persist/restore.rs
diff options
context:
space:
mode:
authorOgulcan Celik <ogulcancelik@gmail.com>2026-05-17 01:41:17 +0300
committerOgulcan Celik <ogulcancelik@gmail.com>2026-05-17 01:41:17 +0300
commitf7fe0f203e0f349df33819aab239c0aade016f79 (patch)
tree51540d4a040a1a2d32ecf73c5c2d9277a7d4efef /src/persist/restore.rs
parent3ecacfddae86d603bfd0d1a0c01602b1d34b1df3 (diff)
fix: polish terminal-core agent semantics
Diffstat (limited to 'src/persist/restore.rs')
-rw-r--r--src/persist/restore.rs7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/persist/restore.rs b/src/persist/restore.rs
index e53a61d9..0ac49e80 100644
--- a/src/persist/restore.rs
+++ b/src/persist/restore.rs
@@ -169,6 +169,10 @@ fn restore_tab(
.get(id)
.and_then(|old_id| snap.panes.get(old_id))
.and_then(|p| p.label.clone());
+ let saved_agent_name = reverse_id_map
+ .get(id)
+ .and_then(|old_id| snap.panes.get(old_id))
+ .and_then(|p| p.agent_name.clone());
match TerminalRuntime::spawn(
*id,
@@ -187,6 +191,9 @@ fn restore_tab(
if let Some(label) = saved_label {
terminal.set_manual_label(label);
}
+ if let Some(agent_name) = saved_agent_name {
+ terminal.set_agent_name(agent_name);
+ }
panes.insert(*id, PaneState::new(terminal_id.clone()));
terminal_runtimes.insert(terminal_id, runtime);
terminals.push(terminal);