aboutsummaryrefslogtreecommitdiffstats
path: root/zellij-server/src/panes/tiled_panes
diff options
context:
space:
mode:
authorAram Drevekenin <aram@poor.dev>2024-12-16 16:03:20 +0100
committerGitHub <noreply@github.com>2024-12-16 16:03:20 +0100
commitdd291e2a1f9b4ee3eb1a947e1501a54b10663ea7 (patch)
tree0ae41e8175d2a3fd260b3c510a30502f6386ac7f /zellij-server/src/panes/tiled_panes
parentdocs(changelog): multiplayer cursor fix (diff)
downloadsl0ppij-dd291e2a1f9b4ee3eb1a947e1501a54b10663ea7.tar.gz
sl0ppij-dd291e2a1f9b4ee3eb1a947e1501a54b10663ea7.tar.xz
sl0ppij-dd291e2a1f9b4ee3eb1a947e1501a54b10663ea7.zip
feat(ux): pin floating panes (#3876)
* working * ui indication * add keybinding * add to plugin panes * fix with multiple cursors * toggle with the mouse * fix e2e tests and add new one * some cleanups * add to layouts * make mouse click more lenient * allow setting a new floating pane as pinned * make toggle work throughthe command line * add to plugin api * get tests to pass * style(fmt): rustfmt
Diffstat (limited to 'zellij-server/src/panes/tiled_panes')
-rw-r--r--zellij-server/src/panes/tiled_panes/mod.rs15
1 files changed, 13 insertions, 2 deletions
diff --git a/zellij-server/src/panes/tiled_panes/mod.rs b/zellij-server/src/panes/tiled_panes/mod.rs
index 7fcd7a40..0223a79e 100644
--- a/zellij-server/src/panes/tiled_panes/mod.rs
+++ b/zellij-server/src/panes/tiled_panes/mod.rs
@@ -699,15 +699,26 @@ impl TiledPanes {
.render_pane_contents_for_client(*client_id)
.with_context(err_context)?;
}
+ let is_floating = false;
if self.draw_pane_frames {
pane_contents_and_ui
- .render_pane_frame(*client_id, client_mode, self.session_is_mirrored)
+ .render_pane_frame(
+ *client_id,
+ client_mode,
+ self.session_is_mirrored,
+ is_floating,
+ )
.with_context(err_context)?;
} else if pane_is_stacked {
// if we have no pane frames but the pane is stacked, we need to render its
// frame which will amount to only rendering the title line
pane_contents_and_ui
- .render_pane_frame(*client_id, client_mode, self.session_is_mirrored)
+ .render_pane_frame(
+ *client_id,
+ client_mode,
+ self.session_is_mirrored,
+ is_floating,
+ )
.with_context(err_context)?;
// we also need to render its boundaries as normal
let boundaries = client_id_to_boundaries