diff options
| author | Aram Drevekenin <aram@poor.dev> | 2025-04-29 20:52:17 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-04-29 20:52:17 +0200 |
| commit | 27c8986939a1642f3e4afda73e9717b7bd328824 (patch) | |
| tree | e80ee57aeede2578a5ce9fa6d0ab4a350ed9d838 /zellij-utils/src/input/options.rs | |
| parent | chore: update development version (diff) | |
| download | sl0ppij-27c8986939a1642f3e4afda73e9717b7bd328824.tar.gz sl0ppij-27c8986939a1642f3e4afda73e9717b7bd328824.tar.xz sl0ppij-27c8986939a1642f3e4afda73e9717b7bd328824.zip | |
feat: multiple Select and Bulk Pane Actions (#4169)
* initial implementation with break panes to new tab
* break pane group left/right
* group embed/eject panes
* stack pane group on resize
* close pane group
* style(fmt): rustfmt
* fix tests
* group drag and ungroup with the mouse
* fix mouse hover for multiple clients
* fix for multiple clients
* multiple select plugin initial
* use real data in plugin
* adjust functionality
* fix some ux issues
* reflect group mouse group selections in plugin
* group/ungroup panes in Zellij
* highlight frames when marked by the plugin
* refactor: render function in plugin
* some ui responsiveness
* some more responsiveness and adjust hover text
* break out functionality
* stack functionality
* break panes left/right and close multiple panes
* fix(tab): only relayout the relevant layout when non-focused pane is closed
* status bar UI
* embed and float panes
* work
* fix some ui/ux issues
* refactor: move stuff around
* some responsiveness and fix search result browsing bug
* change plugin pane title
* differentiate group from focused pane
* add keyboard shortcut
* add ui to compact bar
* make boundary colors appear properly without pane frames
* get plugins to also display their frame color
* make hover shortcuts appear on command panes
* fix: do not render search string component if it's empty
* BeforeClose Event and unhighlight panes on exit
* some UI/UX fixes
* some fixes to the catppuccin-latte theme
* remove ungroup shortcut
* make some ui components opaque
* fix more opaque elements
* fix some issues with stacking pane order
* keyboard shortcuts for grouping
* config to opt out of advanced mouse actions
* make selected + focused frame color distinct
* group marking mode
* refactor: multiple-select plugin
* adjust stacking group behavior
* adjust flashing periods
* render common modifier in group controls
* add to compact bar
* adjust key hint wording
* add key to presets and default config
* some cleanups
* some refactoring
* fix tests
* fix plugin system tests
* tests: group/ungroup/hover
* test: BeforeClose plugin event
* new plugin assets
* style(fmt): rustfmt
* remove warnings
* tests: give plugin more time to load
Diffstat (limited to 'zellij-utils/src/input/options.rs')
| -rw-r--r-- | zellij-utils/src/input/options.rs | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/zellij-utils/src/input/options.rs b/zellij-utils/src/input/options.rs index a9f82f02..5b8b1f51 100644 --- a/zellij-utils/src/input/options.rs +++ b/zellij-utils/src/input/options.rs @@ -179,6 +179,12 @@ pub struct Options { #[clap(long, value_parser)] #[serde(default)] pub show_release_notes: Option<bool>, + + /// Whether to enable mouse hover effects and pane grouping functionality + /// default is true + #[clap(long, value_parser)] + #[serde(default)] + pub advanced_mouse_actions: Option<bool>, } #[derive(ArgEnum, Deserialize, Serialize, Debug, Clone, Copy, PartialEq)] @@ -260,6 +266,7 @@ impl Options { let stacked_resize = other.stacked_resize.or(self.stacked_resize); let show_startup_tips = other.show_startup_tips.or(self.show_startup_tips); let show_release_notes = other.show_release_notes.or(self.show_release_notes); + let advanced_mouse_actions = other.advanced_mouse_actions.or(self.advanced_mouse_actions); Options { simplified_ui, @@ -292,6 +299,7 @@ impl Options { stacked_resize, show_startup_tips, show_release_notes, + advanced_mouse_actions, } } @@ -353,6 +361,7 @@ impl Options { let stacked_resize = other.stacked_resize.or(self.stacked_resize); let show_startup_tips = other.show_startup_tips.or(self.show_startup_tips); let show_release_notes = other.show_release_notes.or(self.show_release_notes); + let advanced_mouse_actions = other.advanced_mouse_actions.or(self.advanced_mouse_actions); Options { simplified_ui, @@ -385,6 +394,7 @@ impl Options { stacked_resize, show_startup_tips, show_release_notes, + advanced_mouse_actions, } } @@ -451,8 +461,9 @@ impl From<CliOptions> for Options { serialization_interval: opts.serialization_interval, support_kitty_keyboard_protocol: opts.support_kitty_keyboard_protocol, stacked_resize: opts.stacked_resize, - show_release_notes: opts.show_release_notes, show_startup_tips: opts.show_startup_tips, + show_release_notes: opts.show_release_notes, + advanced_mouse_actions: opts.advanced_mouse_actions, ..Default::default() } } |
