diff options
| author | Aram Drevekenin <aram@poor.dev> | 2025-02-21 13:05:54 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-02-21 13:05:54 +0100 |
| commit | 648d6ff47a3690028476755e3b8508320b61be15 (patch) | |
| tree | 898f0322c1d80b748627f1573ea1d6edb71a4650 /zellij-server/src/panes/plugin_pane.rs | |
| parent | docs(changelog): recent fixes (diff) | |
| download | sl0ppij-648d6ff47a3690028476755e3b8508320b61be15.tar.gz sl0ppij-648d6ff47a3690028476755e3b8508320b61be15.tar.xz sl0ppij-648d6ff47a3690028476755e3b8508320b61be15.zip | |
fix(pinned-panes): allow pinning floating plugin panes with the mouse (#4013)
Diffstat (limited to 'zellij-server/src/panes/plugin_pane.rs')
| -rw-r--r-- | zellij-server/src/panes/plugin_pane.rs | 14 |
1 files changed, 14 insertions, 0 deletions
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; } |
