diff options
| author | Aram Drevekenin <aram@poor.dev> | 2026-01-13 11:27:07 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-01-13 11:27:07 +0100 |
| commit | 4a27ceea0d99b036ca607e05714cef15689d7c26 (patch) | |
| tree | 22c0148718a82082bdb196c5e867697f514cc541 /zellij-client | |
| parent | docs(CONTRIBUTING): Describe rust toolchain versioning policy (#4585) (diff) | |
| download | sl0ppij-4a27ceea0d99b036ca607e05714cef15689d7c26.tar.gz sl0ppij-4a27ceea0d99b036ca607e05714cef15689d7c26.tar.xz sl0ppij-4a27ceea0d99b036ca607e05714cef15689d7c26.zip | |
Layout manager (#4601)
* ad plugin override_layout command
* watch available layouts and report to plugin thread
* Event::AvailableLayoutInfo
* save layout command
* refactor save_layout
* fix api and permissions
* delete_layout API command
* edit layout in place API
* edit layout response through api
* propagate layout parsing errors
* generate random name plugin api
* dump stringified layout API
* synchronicity dump_session_layout and include LayoutMetadata in sync response
* parse_layout plugin api
* fix: default to default layout dir in plugin api
* rename_layout plugin command API
* initial implementation of multi-tab override
* apply to multiple tabs
* allow applying to only the active tab
* add tab/pane names to layout parsing metadata
* indicate is_builtin_plugin in PaneMetadata
* get_layout_dir plugin API command
* consolidate (and fix) is_builtin_plugin logic
* fix bad ret
* allow dumping the layout for just a specific tab in the session
* get focused pane and tab sync api
* color last substring variants
* add plugin
* update assets
* fix tests
* add e2e tests for new plugin apis
* update ui with new shortcut
* rustfmt
* docs(changelog): add PR
Diffstat (limited to 'zellij-client')
| -rw-r--r-- | zellij-client/src/lib.rs | 12 | ||||
| -rw-r--r-- | zellij-client/src/web_client/session_management.rs | 3 |
2 files changed, 11 insertions, 4 deletions
diff --git a/zellij-client/src/lib.rs b/zellij-client/src/lib.rs index ce11e874..5fcf68be 100644 --- a/zellij-client/src/lib.rs +++ b/zellij-client/src/lib.rs @@ -85,7 +85,7 @@ use zellij_utils::cli::CliArgs; use zellij_utils::{ channels::{self, ChannelWithContext, SenderWithContext}, consts::{set_permissions, ZELLIJ_SOCK_DIR}, - data::{ClientId, ConnectToSession, KeyWithModifier, LayoutInfo}, + data::{ClientId, ConnectToSession, KeyWithModifier, LayoutInfo, LayoutMetadata}, envs, errors::{ClientContext, ContextType, ErrorInstruction}, input::{cli_assets::CliAssets, config::Config, options::Options}, @@ -696,7 +696,10 @@ pub fn start_client( config_dir: cli_args.config_dir.clone(), should_ignore_config: cli_args.is_setup_clean(), configuration_options: Some(config_options.clone()), - layout: Some(LayoutInfo::File(path_to_layout.display().to_string())), + layout: Some(LayoutInfo::File( + path_to_layout.display().to_string(), + LayoutMetadata::default(), + )), terminal_window_size: full_screen_ws, data_dir: cli_args.data_dir.clone(), is_debug: cli_args.debug, @@ -1128,7 +1131,10 @@ pub fn start_server_detached( config_dir: cli_args.config_dir.clone(), should_ignore_config: cli_args.is_setup_clean(), configuration_options: Some(config_options.clone()), - layout: Some(LayoutInfo::File(path_to_layout.display().to_string())), + layout: Some(LayoutInfo::File( + path_to_layout.display().to_string(), + LayoutMetadata::default(), + )), terminal_window_size: Size { cols: 50, rows: 50 }, // static number until a // client connects data_dir: cli_args.data_dir.clone(), diff --git a/zellij-client/src/web_client/session_management.rs b/zellij-client/src/web_client/session_management.rs index d3518b53..9530ba94 100644 --- a/zellij-client/src/web_client/session_management.rs +++ b/zellij-client/src/web_client/session_management.rs @@ -4,7 +4,7 @@ use crate::spawn_server; use std::{fs, path::PathBuf}; use zellij_utils::{ consts::session_layout_cache_file_name, - data::{ConnectToSession, LayoutInfo, WebSharing}, + data::{ConnectToSession, LayoutInfo, LayoutMetadata, WebSharing}, envs, input::{cli_assets::CliAssets, config::Config, options::Options}, ipc::{ClientAttributes, ClientToServerMsg}, @@ -70,6 +70,7 @@ pub fn create_first_message( session_layout_cache_file_name(&session_name) .display() .to_string(), + LayoutMetadata::default(), )) } else { None |
