aboutsummaryrefslogtreecommitdiff
path: root/src/app/state.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/state.rs
parent789738cada5afaa20bbd77a0d479fb689c455bfe (diff)
fix: preserve live handoff terminal state
Diffstat (limited to 'src/app/state.rs')
-rw-r--r--src/app/state.rs6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/app/state.rs b/src/app/state.rs
index 7c47973c..37edc9df 100644
--- a/src/app/state.rs
+++ b/src/app/state.rs
@@ -1046,6 +1046,7 @@ pub struct AppState {
std::collections::HashMap<crate::terminal::TerminalId, crate::terminal::TerminalState>,
/// Terminal ids whose size is currently owned by a direct attach client.
pub direct_attach_resize_locks: std::collections::HashSet<crate::terminal::TerminalId>,
+ pub(crate) pane_id_aliases: std::collections::HashMap<u32, PaneId>,
pub workspaces: Vec<Workspace>,
pub active: Option<usize>,
pub(crate) previous_pane_focus: Option<PaneFocusTarget>,
@@ -1182,6 +1183,10 @@ impl AppState {
self.session_dirty = true;
}
+ pub(crate) fn remove_alias_shadowed_by_new_pane(&mut self, pane_id: PaneId) {
+ self.pane_id_aliases.remove(&pane_id.raw());
+ }
+
pub fn sound_enabled(&self) -> bool {
self.sound.enabled
}
@@ -1349,6 +1354,7 @@ impl AppState {
Self {
terminals: std::collections::HashMap::new(),
direct_attach_resize_locks: std::collections::HashSet::new(),
+ pane_id_aliases: std::collections::HashMap::new(),
workspaces: Vec::new(),
active: None,
previous_pane_focus: None,