diff options
| author | Eric Yue <jiacheng.yue@foxmail.com> | 2026-09-20 22:33:50 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-09-20 16:33:50 +0200 |
| commit | 74505861e40c48e070e711bd4de662a17b0939b3 (patch) | |
| tree | 736ad65c9dba956554529b4169bc54827dc342e3 /src/client/shell/state.rs | |
| parent | c00a62dda169beb472fc2f386d0f673ca100dfa4 (diff) | |
fix: keep workspace navigation visible in terminal theme (#4408)
* fix: keep workspace navigation visible in terminal theme
refs #4300
* fix: clear workspace highlight on directional pane focus
refs #4300
---------
Co-authored-by: JJ Liebig <jonathan.liebig@gmail.com>
Diffstat (limited to 'src/client/shell/state.rs')
| -rw-r--r-- | src/client/shell/state.rs | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/client/shell/state.rs b/src/client/shell/state.rs index 7128db57..55a065d5 100644 --- a/src/client/shell/state.rs +++ b/src/client/shell/state.rs @@ -880,6 +880,7 @@ pub(crate) struct ClientShellState { pub(super) collapsed_endpoints: HashSet<ClientEndpointId>, pub(super) mode: ClientShellMode, pub(super) navigate_workspace_id: Option<WorkspaceNavigationTarget>, + pub(super) pending_workspace_highlight: Option<PendingWorkspaceHighlight>, pub(super) reveal_navigation_workspace: bool, pub(super) overlay: Option<ClientShellOverlay>, pub(super) previous_pane_id: Option<String>, @@ -1043,6 +1044,7 @@ impl ClientShellState { collapsed_endpoints: HashSet::new(), mode: ClientShellMode::Terminal, navigate_workspace_id: None, + pending_workspace_highlight: None, reveal_navigation_workspace: false, overlay, previous_pane_id: None, @@ -1233,6 +1235,7 @@ impl ClientShellState { self.endpoint_error = None; self.endpoint_error_deadline = None; self.navigate_workspace_id = None; + self.pending_workspace_highlight = None; self.overlay = self .config .startup_onboarding @@ -1549,6 +1552,7 @@ impl ClientShellState { } } self.snapshot = Some(snapshot); + self.reconcile_pending_workspace_highlight(); let pending_surface = self.pending_pane_surface.take(); if let Some(surface) = pending_surface { let matching = self.snapshot.as_ref().is_some_and(|snapshot| { |
