diff options
| author | Karl Bunch <karlbunch@users.noreply.github.com> | 2026-03-04 08:26:26 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-03-04 14:26:26 +0100 |
| commit | f77cdec298576164f34baf0456e4b986bde269e6 (patch) | |
| tree | af9fb93cfc6edf465378952c0aff38d48820e142 /example/layouts | |
| parent | docs(changelog): native Windows support (!!) (diff) | |
| download | sl0ppij-f77cdec298576164f34baf0456e4b986bde269e6.tar.gz sl0ppij-f77cdec298576164f34baf0456e4b986bde269e6.tar.xz sl0ppij-f77cdec298576164f34baf0456e4b986bde269e6.zip | |
feat: add per-pane default foreground/background color support (#4737)
* feat: add per-pane default foreground/background color support
Add per-pane default foreground and background colors, configurable
through four surfaces:
- OSC 10/11 escape sequences (set/query) and OSC 110/111 (reset)
- CLI action: zellij action set-pane-color --pane-id <id> --fg/--bg
- Layout config: default_fg/default_bg properties on pane nodes
- Plugin API: set_pane_color() SDK function and PaneInfo read-side
Colors are applied at render time as a fallback when cells have no
explicit foreground/background, without mutating stored grid data.
Closes #4712
* refactor: address review feedback for pane color support
- Extract adjust_styles_for_custom_bg_fg in output/mod.rs
- Move color parsing (xparse_color) from tab into Grid
- Move color serialization (ansi_code_to_color_string) into Grid
- Pane trait now uses Option<String> for color getters/setters
- Add colors to session serialization (dump-layout)
- Add default_fg/default_bg to protobuf IPC schema to fix
layout-in-session color loss
- Update example layout with tab-bar and status-bar
* fix stack overflow and ordering
* rustfmt
* update e2e snapshots
---------
Co-authored-by: Karl Bunch <karl@karlbunch.com>
Co-authored-by: Aram Drevekenin <aram@poor.dev>
Diffstat (limited to 'example/layouts')
| -rw-r--r-- | example/layouts/pane_colors_layout.kdl | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/example/layouts/pane_colors_layout.kdl b/example/layouts/pane_colors_layout.kdl new file mode 100644 index 00000000..ad5b3705 --- /dev/null +++ b/example/layouts/pane_colors_layout.kdl @@ -0,0 +1,13 @@ +layout { + pane size=1 borderless=true { + plugin location="tab-bar" + } + pane split_direction="Vertical" { + pane name="dark-blue-bg" default_bg="#001a3a" + pane name="green-on-black" default_fg="#00e000" default_bg="#0a0a0a" + } + pane name="default-colors" + pane size=1 borderless=true { + plugin location="status-bar" + } +} |
