aboutsummaryrefslogtreecommitdiff
path: root/src/client/shell/mouse.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/client/shell/mouse.rs')
-rw-r--r--src/client/shell/mouse.rs10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/client/shell/mouse.rs b/src/client/shell/mouse.rs
index cf04fb89..ec231c92 100644
--- a/src/client/shell/mouse.rs
+++ b/src/client/shell/mouse.rs
@@ -607,6 +607,16 @@ impl ClientShellState {
pub(super) fn handle_mouse(&mut self, mouse: MouseEvent, outcome: &mut ClientShellInput) {
let point = (mouse.column, mouse.row);
+ if self.mode == ClientShellMode::Navigate
+ && self.workspace_preview_action_blocked()
+ && self.overlay.is_none()
+ && !self.mobile_layout_active()
+ && mouse.kind == MouseEventKind::Down(MouseButton::Left)
+ {
+ self.mode = self.copy_or_terminal_mode();
+ self.navigate_workspace_id = None;
+ outcome.repaint = true;
+ }
if matches!(self.overlay, Some(ClientShellOverlay::Onboarding)) {
if mouse.kind == MouseEventKind::Down(MouseButton::Left)
&& super::contains(self.hits.overlay_primary, point)