aboutsummaryrefslogtreecommitdiffstats
path: root/example/layouts
diff options
context:
space:
mode:
authorKarl Bunch <karlbunch@users.noreply.github.com>2026-03-04 08:26:26 -0500
committerGitHub <noreply@github.com>2026-03-04 14:26:26 +0100
commitf77cdec298576164f34baf0456e4b986bde269e6 (patch)
treeaf9fb93cfc6edf465378952c0aff38d48820e142 /example/layouts
parentdocs(changelog): native Windows support (!!) (diff)
downloadsl0ppij-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.kdl13
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"
+ }
+}