From 648d6ff47a3690028476755e3b8508320b61be15 Mon Sep 17 00:00:00 2001 From: Aram Drevekenin Date: Fri, 21 Feb 2025 13:05:54 +0100 Subject: [PATCH] fix(pinned-panes): allow pinning floating plugin panes with the mouse (#4013) --- zellij-server/src/panes/plugin_pane.rs | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/zellij-server/src/panes/plugin_pane.rs b/zellij-server/src/panes/plugin_pane.rs index 39b9a080..276c2c33 100644 --- a/zellij-server/src/panes/plugin_pane.rs +++ b/zellij-server/src/panes/plugin_pane.rs @@ -745,6 +745,20 @@ impl Pane for PluginPane { } false } + fn intercept_mouse_event_on_frame(&mut self, event: &MouseEvent, client_id: ClientId) -> bool { + if self.position_is_on_frame(&event.position) { + let relative_position = self.relative_position(&event.position); + if let MouseEventType::Press = event.event_type { + if let Some(client_frame) = self.frame.get_mut(&client_id) { + if client_frame.clicked_on_pinned(relative_position) { + self.toggle_pinned(); + return true; + } + } + } + } + false + } fn reset_logical_position(&mut self) { self.geom.logical_position = None; }