From f8e59221cbe5117f8f691a36affa374f5a986a9f Mon Sep 17 00:00:00 2001 From: Can Celik Date: Sun, 13 Sep 2026 23:05:30 +0300 Subject: feat: add ctrl-hover highlighting and fix wrapped links (#4074) refs #1282 --- src/client/shell/state.rs | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src/client/shell/state.rs') diff --git a/src/client/shell/state.rs b/src/client/shell/state.rs index eede0f29..8f2aec43 100644 --- a/src/client/shell/state.rs +++ b/src/client/shell/state.rs @@ -699,6 +699,9 @@ pub(super) enum PendingEndpointKind { absolute_row: u32, generation: u64, }, + PaneLinkResolve { + target: super::link_hover::LinkHoverTarget, + }, PaneLinkActivate { pane_id: String, inner_rect: Rect, @@ -934,6 +937,7 @@ pub(crate) struct ClientShellState { pub(super) overlay: Option, pub(super) previous_pane_id: Option, pub(super) pane_mouse_gesture: Option, + pub(super) link_hover: Option, pub(super) url_click_consumes_until_up: bool, pub(super) replaying_url_click: bool, pub(super) selection: Option>, @@ -1093,6 +1097,7 @@ impl ClientShellState { overlay, previous_pane_id: None, pane_mouse_gesture: None, + link_hover: None, url_click_consumes_until_up: false, replaying_url_click: false, selection: None, @@ -1284,6 +1289,7 @@ impl ClientShellState { .then_some(ClientShellOverlay::Onboarding); self.previous_pane_id = None; self.pane_mouse_gesture = None; + self.link_hover = None; self.url_click_consumes_until_up = false; self.replaying_url_click = false; self.selection = None; @@ -1811,6 +1817,7 @@ impl ClientShellState { self.graphics .set_scene(std::mem::take(&mut surface.graphics)); self.pane_surface = Some(surface); + self.invalidate_link_hover(); self.resume_mobile_switcher_if_ready(); self.reconcile_input_source(); } -- cgit v1.2.3