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/wasm_bridge.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/wasm_bridge.rs')
| -rw-r--r-- | zellij-server/src/plugins/wasm_bridge.rs | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/zellij-server/src/plugins/wasm_bridge.rs b/zellij-server/src/plugins/wasm_bridge.rs index d01a24e7..00b30aa1 100644 --- a/zellij-server/src/plugins/wasm_bridge.rs +++ b/zellij-server/src/plugins/wasm_bridge.rs @@ -324,6 +324,15 @@ impl WasmBridge { for (_worker_name, worker_sender) in workers { drop(worker_sender.send(MessageToWorker::Exit)); } + { + // if the plugin was intercepting key presses and for some reason did not clear + // this state, we make sure to do it ourselves so that the user will not get stuck + if running_plugin.lock().unwrap().intercepting_key_presses() { + let _ = self + .senders + .send_to_screen(ScreenInstruction::ClearKeyPressesIntercepts(client_id)); + } + } let subscriptions = subscriptions.lock().unwrap(); if subscriptions.contains(&EventType::BeforeClose) { let mut running_plugin = running_plugin.lock().unwrap(); @@ -1436,6 +1445,8 @@ impl WasmBridge { pane_id_to_replace, cwd, start_suppressed, + None, + None, Some(client_id), ))); vec![(plugin_id, Some(client_id))] |
