diff options
| author | Aram Drevekenin <aram@poor.dev> | 2025-06-03 17:15:32 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-06-03 17:15:32 +0200 |
| commit | a9f8bbcd197c8d14832fc1ab1fbe4d4111a2014d (patch) | |
| tree | 6d354fdd36cf534d73e0cb81a7cacd3fedc1ebb9 /zellij-server/src/plugins/mod.rs | |
| parent | docs(changelog): theme fixes (diff) | |
| download | sl0ppij-a9f8bbcd197c8d14832fc1ab1fbe4d4111a2014d.tar.gz sl0ppij-a9f8bbcd197c8d14832fc1ab1fbe4d4111a2014d.tar.xz sl0ppij-a9f8bbcd197c8d14832fc1ab1fbe4d4111a2014d.zip | |
feat(ux): improve multiple select (#4221)
* intercept/clear-intercept key APIs
* allow opening a pinned unfocused floating pane
* rework plugin
* improve some apis
* fix tests
* tests for pane groups
* more exact placement and tests
* plugin command permission and cleanup
* improve some multiselect ux
* improve plugin ui
* remove old status indicator
* allow moving plugin out of the way
* style(fmt): rustfmt
* update plugins
* remove old keybinding
* cleanups
* fix: only rename pane if needed
* changelog and some cleanups
* style(fmt): rustfmt
Diffstat (limited to 'zellij-server/src/plugins/mod.rs')
| -rw-r--r-- | zellij-server/src/plugins/mod.rs | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/zellij-server/src/plugins/mod.rs b/zellij-server/src/plugins/mod.rs index d7cb07d2..ec13df38 100644 --- a/zellij-server/src/plugins/mod.rs +++ b/zellij-server/src/plugins/mod.rs @@ -25,8 +25,8 @@ use wasm_bridge::WasmBridge; use async_std::{channel, future::timeout, task}; use zellij_utils::{ data::{ - ClientInfo, Event, EventType, InputMode, MessageToPlugin, PermissionStatus, PermissionType, - PipeMessage, PipeSource, PluginCapabilities, + ClientInfo, Event, EventType, FloatingPaneCoordinates, InputMode, MessageToPlugin, + PermissionStatus, PermissionType, PipeMessage, PipeSource, PluginCapabilities, }, errors::{prelude::*, ContextType, PluginContext}, input::{ @@ -55,6 +55,8 @@ pub enum PluginInstruction { Size, Option<PathBuf>, // cwd bool, // skip cache + Option<bool>, // should focus plugin + Option<FloatingPaneCoordinates>, ), LoadBackgroundPlugin(RunPluginOrAlias, ClientId), Update(Vec<(Option<PluginId>, Option<ClientId>, Event)>), // Focused plugin / broadcast, client_id, event data @@ -281,6 +283,8 @@ pub(crate) fn plugin_thread_main( size, cwd, skip_cache, + should_focus_plugin, + floating_pane_coordinates, ) => { run_plugin_or_alias.populate_run_plugin_if_needed(&plugin_aliases); let cwd = run_plugin_or_alias.get_initial_cwd().or(cwd); @@ -306,6 +310,8 @@ pub(crate) fn plugin_thread_main( pane_id_to_replace, cwd, start_suppressed, + floating_pane_coordinates, + should_focus_plugin, Some(client_id), ))); }, @@ -378,6 +384,8 @@ pub(crate) fn plugin_thread_main( None, start_suppressed, None, + None, + None, ), )); }, @@ -1070,7 +1078,8 @@ fn load_background_plugin( pane_id_to_replace, cwd, start_suppressed, - // None, + None, + None, Some(client_id), ))); }, |
