aboutsummaryrefslogtreecommitdiffstats
path: root/zellij-server/src/panes/plugin_pane.rs
diff options
context:
space:
mode:
authorAram Drevekenin <aram@poor.dev>2025-02-21 13:05:54 +0100
committerGitHub <noreply@github.com>2025-02-21 13:05:54 +0100
commit648d6ff47a3690028476755e3b8508320b61be15 (patch)
tree898f0322c1d80b748627f1573ea1d6edb71a4650 /zellij-server/src/panes/plugin_pane.rs
parentdocs(changelog): recent fixes (diff)
downloadsl0ppij-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.rs14
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;
}