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/state.rs | |
| parent | 789738cada5afaa20bbd77a0d479fb689c455bfe (diff) | |
fix: preserve live handoff terminal state
Diffstat (limited to 'src/app/state.rs')
| -rw-r--r-- | src/app/state.rs | 6 |
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, |
