diff options
| author | Aram Drevekenin <aram@poor.dev> | 2025-01-28 21:24:07 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-01-28 21:24:07 +0100 |
| commit | 407120b87200cfb6c669cf6625b6278fb3076f75 (patch) | |
| tree | 48b389488b240faf9c74608522d655243b7a401f /zellij-utils/src/input/options.rs | |
| parent | chore(deps): update to Wasmtime 29.0.1 (#3955) (diff) | |
| download | sl0ppij-407120b87200cfb6c669cf6625b6278fb3076f75.tar.gz sl0ppij-407120b87200cfb6c669cf6625b6278fb3076f75.tar.xz sl0ppij-407120b87200cfb6c669cf6625b6278fb3076f75.zip | |
feat(ui): stacked resize (#3957)
* work
* tests and initial notes for refactoring
* refactor(stacked-panes): break out pane
* vertical functionality working with a single stack
* refactor: break out pane from stack
* fix: properly support multiple stacks in tab
* combining multiple stacks vertically
* vertical resizing working for all cases
* base functionality and tests
* some UX tweaking
* final functionality for directionless stacked increase
* some cleanups
* moar cleanups
* refactor: stacked resize
* fix: issue where resizing stacked geoms to 0 would cause them to overflow afterwards
* fix: handle uneven stacking
* functionality with tombstones
* new open new pane functionality
* match decrease increment behavior to increase one and fix some issues
* set fullscreen if maxed out
* allow splitting stacks
* fix tests mostly by parameterizing stacked_resize
* add tests
* some cleanups
* style(fmt): rustfmt
* add to config
* disable ci cache
* is_stacked => stacked
* docs(config): remove duplication
Diffstat (limited to 'zellij-utils/src/input/options.rs')
| -rw-r--r-- | zellij-utils/src/input/options.rs | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/zellij-utils/src/input/options.rs b/zellij-utils/src/input/options.rs index c571bcae..5ece3c58 100644 --- a/zellij-utils/src/input/options.rs +++ b/zellij-utils/src/input/options.rs @@ -161,6 +161,12 @@ pub struct Options { #[clap(long, value_parser)] #[serde(default)] pub support_kitty_keyboard_protocol: Option<bool>, + + /// Whether to stack panes when resizing beyond a certain size + /// default is true + #[clap(long, value_parser)] + #[serde(default)] + pub stacked_resize: Option<bool>, } #[derive(ArgEnum, Deserialize, Serialize, Debug, Clone, Copy, PartialEq)] @@ -239,6 +245,7 @@ impl Options { let support_kitty_keyboard_protocol = other .support_kitty_keyboard_protocol .or(self.support_kitty_keyboard_protocol); + let stacked_resize = other.stacked_resize.or(self.stacked_resize); Options { simplified_ui, @@ -268,6 +275,7 @@ impl Options { serialization_interval, disable_session_metadata, support_kitty_keyboard_protocol, + stacked_resize, } } @@ -326,6 +334,7 @@ impl Options { let support_kitty_keyboard_protocol = other .support_kitty_keyboard_protocol .or(self.support_kitty_keyboard_protocol); + let stacked_resize = other.stacked_resize.or(self.stacked_resize); Options { simplified_ui, @@ -355,6 +364,7 @@ impl Options { serialization_interval, disable_session_metadata, support_kitty_keyboard_protocol, + stacked_resize, } } @@ -420,6 +430,7 @@ impl From<CliOptions> for Options { styled_underlines: opts.styled_underlines, serialization_interval: opts.serialization_interval, support_kitty_keyboard_protocol: opts.support_kitty_keyboard_protocol, + stacked_resize: opts.stacked_resize, ..Default::default() } } |
