mirror of
https://github.com/zellij-org/zellij.git
synced 2026-10-11 22:50:07 +00:00
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 <[email protected]> Co-authored-by: Aram Drevekenin <[email protected]>
This commit is contained in:
co-authored by
Karl Bunch
Aram Drevekenin
parent
d7a5de9eae
commit
f77cdec298
@@ -88,6 +88,8 @@ Each node has following fields:
|
||||
* __plugin: /path/to/plugin.wasm__ - optional path to a compiled Zellij plugin.
|
||||
If indicated loads a plugin into the created space. For more information see
|
||||
PLUGINS section.
|
||||
* __default_fg: \<color\>__ - set the default foreground color for a pane (e.g. `"#00e000"`).
|
||||
* __default_bg: \<color\>__ - set the default background color for a pane (e.g. `"#001a3a"`).
|
||||
|
||||
KEYBINDINGS
|
||||
===========
|
||||
@@ -176,6 +178,7 @@ ACTIONS
|
||||
on the current tab and normal mode.
|
||||
* __UndoRenameTab__ - undoes the changed tab name and reverts to the previous name.
|
||||
* __UndoRenamePane__ - undoes the changed pane name and reverts to the previous name.
|
||||
* __SetPaneColor__ - sets the default foreground and/or background color of a pane.
|
||||
|
||||
|
||||
KEYS
|
||||
|
||||
@@ -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"
|
||||
}
|
||||
}
|
||||
+2
-2
@@ -21,8 +21,8 @@ fn main() {
|
||||
|
||||
{
|
||||
let config = Config::try_from(&opts).ok();
|
||||
if let Some(Command::Sessions(Sessions::Action(cli_action))) = opts.command {
|
||||
commands::send_action_to_session(cli_action, opts.session, config);
|
||||
if let Some(Command::Action(cli_action)) = opts.command {
|
||||
commands::send_action_to_session(*cli_action, opts.session, config);
|
||||
std::process::exit(0);
|
||||
}
|
||||
if let Some(Command::Sessions(Sessions::Run {
|
||||
|
||||
@@ -77,6 +77,7 @@ pub fn build(sh: &Shell, flags: flags::Build) -> anyhow::Result<()> {
|
||||
}
|
||||
}
|
||||
}
|
||||
proto_files.sort();
|
||||
if needs_regeneration {
|
||||
prost
|
||||
.compile_protos(&proto_files, &[protobuf_source_dir])
|
||||
@@ -122,6 +123,7 @@ pub fn build(sh: &Shell, flags: flags::Build) -> anyhow::Result<()> {
|
||||
}
|
||||
}
|
||||
}
|
||||
proto_files.sort();
|
||||
if needs_regeneration {
|
||||
prost
|
||||
.compile_protos(&proto_files, &[client_server_contract_dir])
|
||||
@@ -166,6 +168,7 @@ pub fn build(sh: &Shell, flags: flags::Build) -> anyhow::Result<()> {
|
||||
}
|
||||
}
|
||||
}
|
||||
proto_files.sort();
|
||||
if needs_regeneration {
|
||||
prost
|
||||
.compile_protos(&proto_files, &[web_server_contract_dir])
|
||||
|
||||
@@ -61,6 +61,27 @@ fn adjust_styles_for_possible_selection(
|
||||
.unwrap_or(character_styles)
|
||||
}
|
||||
|
||||
fn adjust_styles_for_custom_bg_fg(
|
||||
character_styles: CharacterStyles,
|
||||
pane_default_fg: Option<AnsiCode>,
|
||||
pane_default_bg: Option<AnsiCode>,
|
||||
) -> CharacterStyles {
|
||||
let mut character_styles = character_styles;
|
||||
if character_styles.foreground.is_none() || character_styles.foreground == Some(AnsiCode::Reset)
|
||||
{
|
||||
if let Some(fg) = pane_default_fg {
|
||||
character_styles.foreground = Some(fg);
|
||||
}
|
||||
}
|
||||
if character_styles.background.is_none() || character_styles.background == Some(AnsiCode::Reset)
|
||||
{
|
||||
if let Some(bg) = pane_default_bg {
|
||||
character_styles.background = Some(bg);
|
||||
}
|
||||
}
|
||||
character_styles
|
||||
}
|
||||
|
||||
fn write_changed_styles(
|
||||
character_styles: &mut CharacterStyles,
|
||||
current_character_styles: CharacterStyles,
|
||||
@@ -113,6 +134,8 @@ fn serialize_chunks_with_newlines(
|
||||
}
|
||||
|
||||
let chunk_changed_colors = character_chunk.changed_colors();
|
||||
let pane_default_fg = character_chunk.pane_default_fg;
|
||||
let pane_default_bg = character_chunk.pane_default_bg;
|
||||
let mut character_styles = DEFAULT_STYLES.enable_styled_underlines(styled_underlines);
|
||||
vte_output.push_str("\n\r");
|
||||
let mut chunk_width = character_chunk.x;
|
||||
@@ -124,11 +147,15 @@ fn serialize_chunks_with_newlines(
|
||||
}
|
||||
}
|
||||
|
||||
let current_character_styles = adjust_styles_for_possible_selection(
|
||||
character_chunk.selection_and_colors(),
|
||||
*t_character.styles,
|
||||
character_chunk.y,
|
||||
chunk_width,
|
||||
let current_character_styles = adjust_styles_for_custom_bg_fg(
|
||||
adjust_styles_for_possible_selection(
|
||||
character_chunk.selection_and_colors(),
|
||||
*t_character.styles,
|
||||
character_chunk.y,
|
||||
chunk_width,
|
||||
),
|
||||
pane_default_fg,
|
||||
pane_default_bg,
|
||||
);
|
||||
write_changed_styles(
|
||||
&mut character_styles,
|
||||
@@ -171,6 +198,8 @@ fn serialize_chunks(
|
||||
}
|
||||
|
||||
let chunk_changed_colors = character_chunk.changed_colors();
|
||||
let pane_default_fg = character_chunk.pane_default_fg;
|
||||
let pane_default_bg = character_chunk.pane_default_bg;
|
||||
let mut character_styles = DEFAULT_STYLES.enable_styled_underlines(styled_underlines);
|
||||
vte_goto_instruction(character_chunk.x, character_chunk.y, &mut vte_output)
|
||||
.with_context(err_context)?;
|
||||
@@ -183,11 +212,15 @@ fn serialize_chunks(
|
||||
}
|
||||
}
|
||||
|
||||
let current_character_styles = adjust_styles_for_possible_selection(
|
||||
character_chunk.selection_and_colors(),
|
||||
*t_character.styles,
|
||||
character_chunk.y,
|
||||
chunk_width,
|
||||
let current_character_styles = adjust_styles_for_custom_bg_fg(
|
||||
adjust_styles_for_possible_selection(
|
||||
character_chunk.selection_and_colors(),
|
||||
*t_character.styles,
|
||||
character_chunk.y,
|
||||
chunk_width,
|
||||
),
|
||||
pane_default_fg,
|
||||
pane_default_bg,
|
||||
);
|
||||
write_changed_styles(
|
||||
&mut character_styles,
|
||||
@@ -745,6 +778,9 @@ impl FloatingPanesStack {
|
||||
let right_chunk_x = pane_right_edge + 1;
|
||||
let mut left_chunk =
|
||||
CharacterChunk::new(left_chunk_characters, left_chunk_x, c_chunk.y);
|
||||
left_chunk.pane_default_fg = c_chunk.pane_default_fg;
|
||||
left_chunk.pane_default_bg = c_chunk.pane_default_bg;
|
||||
left_chunk.changed_colors = c_chunk.changed_colors;
|
||||
if !c_chunk.selection_and_colors.is_empty() {
|
||||
left_chunk.selection_and_colors = c_chunk.selection_and_colors.clone();
|
||||
}
|
||||
@@ -947,6 +983,8 @@ pub struct CharacterChunk {
|
||||
pub y: usize,
|
||||
pub changed_colors: Option<[Option<AnsiCode>; 256]>,
|
||||
selection_and_colors: Vec<(Selection, AnsiCode, Option<AnsiCode>)>, // Selection, background color, optional foreground color
|
||||
pub pane_default_fg: Option<AnsiCode>,
|
||||
pub pane_default_bg: Option<AnsiCode>,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, Copy, Default)]
|
||||
@@ -990,6 +1028,10 @@ impl CharacterChunk {
|
||||
pub fn add_changed_colors(&mut self, changed_colors: Option<[Option<AnsiCode>; 256]>) {
|
||||
self.changed_colors = changed_colors;
|
||||
}
|
||||
pub fn add_pane_defaults(&mut self, fg: Option<AnsiCode>, bg: Option<AnsiCode>) {
|
||||
self.pane_default_fg = fg;
|
||||
self.pane_default_bg = bg;
|
||||
}
|
||||
pub fn changed_colors(&self) -> Option<[Option<AnsiCode>; 256]> {
|
||||
self.changed_colors
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
use super::super::{CharacterChunk, FloatingPanesStack, Output, OutputBuffer, SixelImageChunk};
|
||||
use crate::panes::sixel::SixelImageStore;
|
||||
use crate::panes::terminal_character::AnsiCode;
|
||||
use crate::panes::{LinkHandler, Row, TerminalCharacter};
|
||||
use crate::ClientId;
|
||||
use std::cell::RefCell;
|
||||
@@ -1033,3 +1034,80 @@ fn test_output_buffer_changed_chunks_in_viewport_partial() {
|
||||
assert_eq!(chunks[1].y, 5, "Second chunk should be at line 5");
|
||||
assert_eq!(chunks[2].y, 7, "Third chunk should be at line 7");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_pane_defaults_preserved_when_middle_covered() {
|
||||
let pane_geom = create_pane_geom(5, 5, 3, 1);
|
||||
let stack = FloatingPanesStack {
|
||||
layers: vec![pane_geom],
|
||||
};
|
||||
|
||||
let pane_bg = Some(AnsiCode::RgbCode((0, 26, 58)));
|
||||
let pane_fg = Some(AnsiCode::RgbCode((0, 224, 0)));
|
||||
|
||||
let mut chunk = create_character_chunk_from_str("0123456789", 0, 5);
|
||||
chunk.pane_default_bg = pane_bg;
|
||||
chunk.pane_default_fg = pane_fg;
|
||||
|
||||
let visible = stack
|
||||
.visible_character_chunks(vec![chunk], Some(0))
|
||||
.unwrap();
|
||||
|
||||
assert_eq!(visible.len(), 2, "Middle split should produce two chunks");
|
||||
for (i, chunk) in visible.iter().enumerate() {
|
||||
assert_eq!(
|
||||
chunk.pane_default_bg, pane_bg,
|
||||
"Chunk {i} should preserve pane_default_bg"
|
||||
);
|
||||
assert_eq!(
|
||||
chunk.pane_default_fg, pane_fg,
|
||||
"Chunk {i} should preserve pane_default_fg"
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_pane_defaults_preserved_when_left_covered() {
|
||||
let pane_geom = create_pane_geom(0, 5, 5, 1);
|
||||
let stack = FloatingPanesStack {
|
||||
layers: vec![pane_geom],
|
||||
};
|
||||
|
||||
let pane_bg = Some(AnsiCode::RgbCode((0, 26, 58)));
|
||||
|
||||
let mut chunk = create_character_chunk_from_str("0123456789", 0, 5);
|
||||
chunk.pane_default_bg = pane_bg;
|
||||
|
||||
let visible = stack
|
||||
.visible_character_chunks(vec![chunk], Some(0))
|
||||
.unwrap();
|
||||
|
||||
assert_eq!(visible.len(), 1, "Left-covered should produce one chunk");
|
||||
assert_eq!(
|
||||
visible[0].pane_default_bg, pane_bg,
|
||||
"Remaining chunk should preserve pane_default_bg"
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_pane_defaults_preserved_when_right_covered() {
|
||||
let pane_geom = create_pane_geom(5, 5, 10, 1);
|
||||
let stack = FloatingPanesStack {
|
||||
layers: vec![pane_geom],
|
||||
};
|
||||
|
||||
let pane_bg = Some(AnsiCode::RgbCode((0, 26, 58)));
|
||||
|
||||
let mut chunk = create_character_chunk_from_str("0123456789", 0, 5);
|
||||
chunk.pane_default_bg = pane_bg;
|
||||
|
||||
let visible = stack
|
||||
.visible_character_chunks(vec![chunk], Some(0))
|
||||
.unwrap();
|
||||
|
||||
assert_eq!(visible.len(), 1, "Right-covered should produce one chunk");
|
||||
assert_eq!(
|
||||
visible[0].pane_default_bg, pane_bg,
|
||||
"Remaining chunk should preserve pane_default_bg"
|
||||
);
|
||||
}
|
||||
|
||||
@@ -404,6 +404,31 @@ pub struct Grid {
|
||||
// disabled by user config?
|
||||
click: Click,
|
||||
hyperlink_tracker: HyperlinkTracker,
|
||||
pub pane_default_fg: Option<AnsiCode>,
|
||||
pub pane_default_bg: Option<AnsiCode>,
|
||||
}
|
||||
|
||||
impl Grid {
|
||||
pub fn set_pane_default_colors(&mut self, fg: Option<String>, bg: Option<String>) {
|
||||
self.pane_default_fg = fg.as_ref().and_then(|s| xparse_color(s.as_bytes()));
|
||||
self.pane_default_bg = bg.as_ref().and_then(|s| xparse_color(s.as_bytes()));
|
||||
self.output_buffer.update_all_lines();
|
||||
}
|
||||
pub fn get_pane_default_color_strings(&self) -> (Option<String>, Option<String>) {
|
||||
(
|
||||
self.pane_default_fg.and_then(ansi_code_to_color_string),
|
||||
self.pane_default_bg.and_then(ansi_code_to_color_string),
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
fn ansi_code_to_color_string(code: AnsiCode) -> Option<String> {
|
||||
match code {
|
||||
AnsiCode::RgbCode((r, g, b)) => Some(format!("#{:02x}{:02x}{:02x}", r, g, b)),
|
||||
AnsiCode::ColorIndex(idx) => Some(format!("{}", idx)),
|
||||
AnsiCode::NamedColor(named) => Some(format!("{:?}", named).to_lowercase()),
|
||||
_ => None,
|
||||
}
|
||||
}
|
||||
|
||||
const CLICK_TIME_THRESHOLD: u128 = 400; // Doherty Threshold
|
||||
@@ -594,6 +619,8 @@ impl Grid {
|
||||
explicitly_disable_kitty_keyboard_protocol,
|
||||
click: Click::default(),
|
||||
hyperlink_tracker: HyperlinkTracker::new(),
|
||||
pane_default_fg: None,
|
||||
pane_default_bg: None,
|
||||
}
|
||||
}
|
||||
pub fn render_full_viewport(&mut self) {
|
||||
@@ -1174,6 +1201,7 @@ impl Grid {
|
||||
let (mut character_chunks, sixel_image_chunks) = self.read_changes(content_x, content_y);
|
||||
for character_chunk in character_chunks.iter_mut() {
|
||||
character_chunk.add_changed_colors(self.changed_colors);
|
||||
character_chunk.add_pane_defaults(self.pane_default_fg, self.pane_default_bg);
|
||||
if self
|
||||
.selection
|
||||
.contains_row(character_chunk.y.saturating_sub(content_y))
|
||||
@@ -1814,6 +1842,8 @@ impl Grid {
|
||||
self.cursor_is_hidden = false;
|
||||
self.supports_kitty_keyboard_protocol = false;
|
||||
self.set_scroll_region_to_viewport_size();
|
||||
self.pane_default_fg = None;
|
||||
self.pane_default_bg = None;
|
||||
if let Some(images_to_reap) = self.sixel_grid.clear() {
|
||||
self.sixel_grid.reap_images(images_to_reap);
|
||||
}
|
||||
@@ -2702,34 +2732,44 @@ impl Perform for Grid {
|
||||
if params.len() >= 2 {
|
||||
if let Some(mut dynamic_code) = parse_number(params[0]) {
|
||||
for param in ¶ms[1..] {
|
||||
// currently only getting the color sequence is supported,
|
||||
// setting still isn't
|
||||
if param == b"?" {
|
||||
let saved_terminal_color = if dynamic_code == 10 {
|
||||
Some(self.terminal_emulator_colors.borrow().fg)
|
||||
// Query: respond with pane default if set, else terminal default
|
||||
let color_rgb = if dynamic_code == 10 {
|
||||
match self.pane_default_fg {
|
||||
Some(AnsiCode::RgbCode((r, g, b))) => Some((r, g, b)),
|
||||
_ => match self.terminal_emulator_colors.borrow().fg {
|
||||
PaletteColor::Rgb((r, g, b)) => Some((r, g, b)),
|
||||
_ => None,
|
||||
},
|
||||
}
|
||||
} else if dynamic_code == 11 {
|
||||
Some(self.terminal_emulator_colors.borrow().bg)
|
||||
match self.pane_default_bg {
|
||||
Some(AnsiCode::RgbCode((r, g, b))) => Some((r, g, b)),
|
||||
_ => match self.terminal_emulator_colors.borrow().bg {
|
||||
PaletteColor::Rgb((r, g, b)) => Some((r, g, b)),
|
||||
_ => None,
|
||||
},
|
||||
}
|
||||
} else {
|
||||
None
|
||||
};
|
||||
let color_response_message = match saved_terminal_color {
|
||||
Some(PaletteColor::Rgb((r, g, b))) => {
|
||||
format!(
|
||||
"\u{1b}]{};rgb:{1:02x}{1:02x}/{2:02x}{2:02x}/{3:02x}{3:02x}{4}",
|
||||
// dynamic_code, color.r, color.g, color.b, terminator
|
||||
dynamic_code, r, g, b, terminator
|
||||
)
|
||||
},
|
||||
_ => {
|
||||
format!(
|
||||
"\u{1b}]{};rgb:{1:02x}{1:02x}/{2:02x}{2:02x}/{3:02x}{3:02x}{4}",
|
||||
// dynamic_code, color.r, color.g, color.b, terminator
|
||||
dynamic_code, 0, 0, 0, terminator
|
||||
)
|
||||
},
|
||||
};
|
||||
let (r, g, b) = color_rgb.unwrap_or((0, 0, 0));
|
||||
let color_response_message = format!(
|
||||
"\u{1b}]{};rgb:{1:02x}{1:02x}/{2:02x}{2:02x}/{3:02x}{3:02x}{4}",
|
||||
dynamic_code, r, g, b, terminator
|
||||
);
|
||||
self.pending_messages_to_pty
|
||||
.push(color_response_message.as_bytes().to_vec());
|
||||
} else {
|
||||
// Set: parse color and store as pane default
|
||||
if let Some(color) = xparse_color(param) {
|
||||
if dynamic_code == 10 {
|
||||
self.pane_default_fg = Some(color);
|
||||
} else if dynamic_code == 11 {
|
||||
self.pane_default_bg = Some(color);
|
||||
}
|
||||
self.output_buffer.update_all_lines();
|
||||
}
|
||||
}
|
||||
dynamic_code += 1;
|
||||
}
|
||||
@@ -2813,12 +2853,14 @@ impl Perform for Grid {
|
||||
|
||||
// Reset foreground color.
|
||||
b"110" => {
|
||||
// TBD - reset foreground color - currently unimplemented
|
||||
self.pane_default_fg = None;
|
||||
self.output_buffer.update_all_lines();
|
||||
},
|
||||
|
||||
// Reset background color.
|
||||
b"111" => {
|
||||
// TBD - reset background color - currently unimplemented
|
||||
self.pane_default_bg = None;
|
||||
self.output_buffer.update_all_lines();
|
||||
},
|
||||
|
||||
// Reset text cursor color.
|
||||
|
||||
@@ -317,6 +317,13 @@ impl Pane for TerminalPane {
|
||||
fn set_selectable(&mut self, selectable: bool) {
|
||||
self.selectable = selectable;
|
||||
}
|
||||
fn set_pane_default_colors(&mut self, fg: Option<String>, bg: Option<String>) {
|
||||
self.grid.set_pane_default_colors(fg, bg);
|
||||
self.set_should_render(true);
|
||||
}
|
||||
fn get_pane_default_colors(&self) -> (Option<String>, Option<String>) {
|
||||
self.grid.get_pane_default_color_strings()
|
||||
}
|
||||
fn render(
|
||||
&mut self,
|
||||
_client_id: Option<ClientId>,
|
||||
|
||||
@@ -4362,3 +4362,197 @@ fn single_click_drag_selection_preserved_after_scroll() {
|
||||
assert_eq!(grid.selection.start.column, start_before.column);
|
||||
assert_eq!(grid.selection.end.column, end_before.column);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn osc_11_set_and_query_pane_default_bg() {
|
||||
use crate::panes::terminal_character::AnsiCode;
|
||||
|
||||
let mut vte_parser = vte::Parser::new();
|
||||
let sixel_image_store = Rc::new(RefCell::new(SixelImageStore::default()));
|
||||
let terminal_emulator_color_codes = Rc::new(RefCell::new(HashMap::new()));
|
||||
let mut grid = Grid::new(
|
||||
10,
|
||||
20,
|
||||
Rc::new(RefCell::new(Palette::default())),
|
||||
terminal_emulator_color_codes,
|
||||
Rc::new(RefCell::new(LinkHandler::new())),
|
||||
Rc::new(RefCell::new(None)),
|
||||
sixel_image_store,
|
||||
Style::default(),
|
||||
false,
|
||||
true,
|
||||
true,
|
||||
true,
|
||||
false,
|
||||
);
|
||||
|
||||
// Set background via OSC 11
|
||||
let set_bg = b"\x1b]11;#001a3a\x07";
|
||||
for byte in set_bg.iter() {
|
||||
vte_parser.advance(&mut grid, *byte);
|
||||
}
|
||||
|
||||
assert_eq!(grid.pane_default_bg, Some(AnsiCode::RgbCode((0, 26, 58))));
|
||||
|
||||
// Query background via OSC 11
|
||||
let query_bg = b"\x1b]11;?\x07";
|
||||
for byte in query_bg.iter() {
|
||||
vte_parser.advance(&mut grid, *byte);
|
||||
}
|
||||
|
||||
assert_eq!(grid.pending_messages_to_pty.len(), 1);
|
||||
let response = String::from_utf8(grid.pending_messages_to_pty[0].clone()).unwrap();
|
||||
assert!(
|
||||
response.contains("11;rgb:0000/1a1a/3a3a"),
|
||||
"Response was: {}",
|
||||
response
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn osc_10_set_and_query_pane_default_fg() {
|
||||
use crate::panes::terminal_character::AnsiCode;
|
||||
|
||||
let mut vte_parser = vte::Parser::new();
|
||||
let sixel_image_store = Rc::new(RefCell::new(SixelImageStore::default()));
|
||||
let terminal_emulator_color_codes = Rc::new(RefCell::new(HashMap::new()));
|
||||
let mut grid = Grid::new(
|
||||
10,
|
||||
20,
|
||||
Rc::new(RefCell::new(Palette::default())),
|
||||
terminal_emulator_color_codes,
|
||||
Rc::new(RefCell::new(LinkHandler::new())),
|
||||
Rc::new(RefCell::new(None)),
|
||||
sixel_image_store,
|
||||
Style::default(),
|
||||
false,
|
||||
true,
|
||||
true,
|
||||
true,
|
||||
false,
|
||||
);
|
||||
|
||||
// Set foreground via OSC 10
|
||||
let set_fg = b"\x1b]10;#00e000\x07";
|
||||
for byte in set_fg.iter() {
|
||||
vte_parser.advance(&mut grid, *byte);
|
||||
}
|
||||
|
||||
assert_eq!(grid.pane_default_fg, Some(AnsiCode::RgbCode((0, 224, 0))));
|
||||
|
||||
// Query foreground via OSC 10
|
||||
let query_fg = b"\x1b]10;?\x07";
|
||||
for byte in query_fg.iter() {
|
||||
vte_parser.advance(&mut grid, *byte);
|
||||
}
|
||||
|
||||
assert_eq!(grid.pending_messages_to_pty.len(), 1);
|
||||
let response = String::from_utf8(grid.pending_messages_to_pty[0].clone()).unwrap();
|
||||
assert!(
|
||||
response.contains("10;rgb:0000/e0e0/0000"),
|
||||
"Response was: {}",
|
||||
response
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn osc_110_111_reset_pane_default_colors() {
|
||||
use crate::panes::terminal_character::AnsiCode;
|
||||
|
||||
let mut vte_parser = vte::Parser::new();
|
||||
let sixel_image_store = Rc::new(RefCell::new(SixelImageStore::default()));
|
||||
let terminal_emulator_color_codes = Rc::new(RefCell::new(HashMap::new()));
|
||||
let mut grid = Grid::new(
|
||||
10,
|
||||
20,
|
||||
Rc::new(RefCell::new(Palette::default())),
|
||||
terminal_emulator_color_codes,
|
||||
Rc::new(RefCell::new(LinkHandler::new())),
|
||||
Rc::new(RefCell::new(None)),
|
||||
sixel_image_store,
|
||||
Style::default(),
|
||||
false,
|
||||
true,
|
||||
true,
|
||||
true,
|
||||
false,
|
||||
);
|
||||
|
||||
// Set both fg and bg
|
||||
let set_fg = b"\x1b]10;#00e000\x07";
|
||||
for byte in set_fg.iter() {
|
||||
vte_parser.advance(&mut grid, *byte);
|
||||
}
|
||||
let set_bg = b"\x1b]11;#001a3a\x07";
|
||||
for byte in set_bg.iter() {
|
||||
vte_parser.advance(&mut grid, *byte);
|
||||
}
|
||||
|
||||
assert_eq!(grid.pane_default_fg, Some(AnsiCode::RgbCode((0, 224, 0))));
|
||||
assert_eq!(grid.pane_default_bg, Some(AnsiCode::RgbCode((0, 26, 58))));
|
||||
|
||||
// Reset foreground via OSC 110
|
||||
let reset_fg = b"\x1b]110\x07";
|
||||
for byte in reset_fg.iter() {
|
||||
vte_parser.advance(&mut grid, *byte);
|
||||
}
|
||||
assert_eq!(grid.pane_default_fg, None);
|
||||
assert_eq!(grid.pane_default_bg, Some(AnsiCode::RgbCode((0, 26, 58))));
|
||||
|
||||
// Reset background via OSC 111
|
||||
let reset_bg = b"\x1b]111\x07";
|
||||
for byte in reset_bg.iter() {
|
||||
vte_parser.advance(&mut grid, *byte);
|
||||
}
|
||||
assert_eq!(grid.pane_default_fg, None);
|
||||
assert_eq!(grid.pane_default_bg, None);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn osc_11_set_bg_produces_ansi_in_render_output() {
|
||||
use crate::panes::terminal_character::AnsiCode;
|
||||
|
||||
let mut vte_parser = vte::Parser::new();
|
||||
let sixel_image_store = Rc::new(RefCell::new(SixelImageStore::default()));
|
||||
let terminal_emulator_color_codes = Rc::new(RefCell::new(HashMap::new()));
|
||||
let mut grid = Grid::new(
|
||||
5,
|
||||
10,
|
||||
Rc::new(RefCell::new(Palette::default())),
|
||||
terminal_emulator_color_codes,
|
||||
Rc::new(RefCell::new(LinkHandler::new())),
|
||||
Rc::new(RefCell::new(None)),
|
||||
sixel_image_store,
|
||||
Style::default(),
|
||||
false,
|
||||
true,
|
||||
true,
|
||||
true,
|
||||
false,
|
||||
);
|
||||
|
||||
// Set background via OSC 11
|
||||
let set_bg = b"\x1b]11;#001a3a\x07";
|
||||
for byte in set_bg.iter() {
|
||||
vte_parser.advance(&mut grid, *byte);
|
||||
}
|
||||
|
||||
assert_eq!(grid.pane_default_bg, Some(AnsiCode::RgbCode((0, 26, 58))));
|
||||
|
||||
// Render the grid and check that the pane defaults are stamped on chunks
|
||||
let style = Style::default();
|
||||
let render_result = grid.render(0, 0, &style).unwrap();
|
||||
assert!(render_result.is_some(), "Expected render output");
|
||||
|
||||
let (chunks, _, _) = render_result.unwrap();
|
||||
assert!(!chunks.is_empty(), "Expected at least one character chunk");
|
||||
|
||||
// All chunks should carry the pane default bg
|
||||
for chunk in &chunks {
|
||||
assert_eq!(
|
||||
chunk.pane_default_bg,
|
||||
Some(AnsiCode::RgbCode((0, 26, 58))),
|
||||
"Chunk should carry pane default background"
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
+6
@@ -26,6 +26,8 @@ Some(
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -42,6 +44,8 @@ Some(
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -55,6 +59,8 @@ Some(
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
),
|
||||
[],
|
||||
|
||||
+6
@@ -26,6 +26,8 @@ Some(
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -42,6 +44,8 @@ Some(
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -55,6 +59,8 @@ Some(
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
),
|
||||
[],
|
||||
|
||||
+180
@@ -29,6 +29,8 @@ Some(
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -66,6 +68,8 @@ Some(
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -79,6 +83,8 @@ Some(
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
floating_layouts: [],
|
||||
swap_tiled_layouts: Some(
|
||||
@@ -114,6 +120,8 @@ Some(
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -132,6 +140,8 @@ Some(
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -145,6 +155,8 @@ Some(
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -158,6 +170,8 @@ Some(
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -195,6 +209,8 @@ Some(
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -208,6 +224,8 @@ Some(
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
MaxPanes(
|
||||
7,
|
||||
@@ -240,6 +258,8 @@ Some(
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -260,6 +280,8 @@ Some(
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -276,6 +298,8 @@ Some(
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -292,6 +316,8 @@ Some(
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -308,6 +334,8 @@ Some(
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -321,6 +349,8 @@ Some(
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -334,6 +364,8 @@ Some(
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -347,6 +379,8 @@ Some(
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -384,6 +418,8 @@ Some(
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -397,6 +433,8 @@ Some(
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
MaxPanes(
|
||||
11,
|
||||
@@ -429,6 +467,8 @@ Some(
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -449,6 +489,8 @@ Some(
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -465,6 +507,8 @@ Some(
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -481,6 +525,8 @@ Some(
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -497,6 +543,8 @@ Some(
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -510,6 +558,8 @@ Some(
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -530,6 +580,8 @@ Some(
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -546,6 +598,8 @@ Some(
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -562,6 +616,8 @@ Some(
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -578,6 +634,8 @@ Some(
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -591,6 +649,8 @@ Some(
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -604,6 +664,8 @@ Some(
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -617,6 +679,8 @@ Some(
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -654,6 +718,8 @@ Some(
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -667,6 +733,8 @@ Some(
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
},
|
||||
Some(
|
||||
@@ -700,6 +768,8 @@ Some(
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -716,6 +786,8 @@ Some(
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -729,6 +801,8 @@ Some(
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -766,6 +840,8 @@ Some(
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -779,6 +855,8 @@ Some(
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
MaxPanes(
|
||||
7,
|
||||
@@ -811,6 +889,8 @@ Some(
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Vertical,
|
||||
@@ -831,6 +911,8 @@ Some(
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -847,6 +929,8 @@ Some(
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -863,6 +947,8 @@ Some(
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -879,6 +965,8 @@ Some(
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -892,6 +980,8 @@ Some(
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -905,6 +995,8 @@ Some(
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -918,6 +1010,8 @@ Some(
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -955,6 +1049,8 @@ Some(
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -968,6 +1064,8 @@ Some(
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
MaxPanes(
|
||||
11,
|
||||
@@ -1000,6 +1098,8 @@ Some(
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Vertical,
|
||||
@@ -1020,6 +1120,8 @@ Some(
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -1036,6 +1138,8 @@ Some(
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -1052,6 +1156,8 @@ Some(
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -1068,6 +1174,8 @@ Some(
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -1081,6 +1189,8 @@ Some(
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Vertical,
|
||||
@@ -1101,6 +1211,8 @@ Some(
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -1117,6 +1229,8 @@ Some(
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -1133,6 +1247,8 @@ Some(
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -1149,6 +1265,8 @@ Some(
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -1162,6 +1280,8 @@ Some(
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -1175,6 +1295,8 @@ Some(
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -1188,6 +1310,8 @@ Some(
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -1225,6 +1349,8 @@ Some(
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -1238,6 +1364,8 @@ Some(
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
},
|
||||
Some(
|
||||
@@ -1275,6 +1403,8 @@ Some(
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -1293,6 +1423,8 @@ Some(
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -1306,6 +1438,8 @@ Some(
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -1319,6 +1453,8 @@ Some(
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -1356,6 +1492,8 @@ Some(
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -1369,6 +1507,8 @@ Some(
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
},
|
||||
Some(
|
||||
@@ -1421,6 +1561,8 @@ Some(
|
||||
already_running: false,
|
||||
pane_initial_contents: None,
|
||||
logical_position: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
FloatingPaneLayout {
|
||||
name: None,
|
||||
@@ -1451,6 +1593,8 @@ Some(
|
||||
already_running: false,
|
||||
pane_initial_contents: None,
|
||||
logical_position: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
FloatingPaneLayout {
|
||||
name: None,
|
||||
@@ -1481,6 +1625,8 @@ Some(
|
||||
already_running: false,
|
||||
pane_initial_contents: None,
|
||||
logical_position: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
FloatingPaneLayout {
|
||||
name: None,
|
||||
@@ -1511,6 +1657,8 @@ Some(
|
||||
already_running: false,
|
||||
pane_initial_contents: None,
|
||||
logical_position: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
FloatingPaneLayout {
|
||||
name: None,
|
||||
@@ -1541,6 +1689,8 @@ Some(
|
||||
already_running: false,
|
||||
pane_initial_contents: None,
|
||||
logical_position: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
FloatingPaneLayout {
|
||||
name: None,
|
||||
@@ -1571,6 +1721,8 @@ Some(
|
||||
already_running: false,
|
||||
pane_initial_contents: None,
|
||||
logical_position: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
FloatingPaneLayout {
|
||||
name: None,
|
||||
@@ -1601,6 +1753,8 @@ Some(
|
||||
already_running: false,
|
||||
pane_initial_contents: None,
|
||||
logical_position: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
FloatingPaneLayout {
|
||||
name: None,
|
||||
@@ -1631,6 +1785,8 @@ Some(
|
||||
already_running: false,
|
||||
pane_initial_contents: None,
|
||||
logical_position: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
FloatingPaneLayout {
|
||||
name: None,
|
||||
@@ -1661,6 +1817,8 @@ Some(
|
||||
already_running: false,
|
||||
pane_initial_contents: None,
|
||||
logical_position: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
FloatingPaneLayout {
|
||||
name: None,
|
||||
@@ -1691,6 +1849,8 @@ Some(
|
||||
already_running: false,
|
||||
pane_initial_contents: None,
|
||||
logical_position: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
},
|
||||
@@ -1724,6 +1884,8 @@ Some(
|
||||
already_running: false,
|
||||
pane_initial_contents: None,
|
||||
logical_position: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
MaxPanes(
|
||||
@@ -1754,6 +1916,8 @@ Some(
|
||||
already_running: false,
|
||||
pane_initial_contents: None,
|
||||
logical_position: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
FloatingPaneLayout {
|
||||
name: None,
|
||||
@@ -1780,6 +1944,8 @@ Some(
|
||||
already_running: false,
|
||||
pane_initial_contents: None,
|
||||
logical_position: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
MaxPanes(
|
||||
@@ -1810,6 +1976,8 @@ Some(
|
||||
already_running: false,
|
||||
pane_initial_contents: None,
|
||||
logical_position: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
FloatingPaneLayout {
|
||||
name: None,
|
||||
@@ -1836,6 +2004,8 @@ Some(
|
||||
already_running: false,
|
||||
pane_initial_contents: None,
|
||||
logical_position: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
FloatingPaneLayout {
|
||||
name: None,
|
||||
@@ -1862,6 +2032,8 @@ Some(
|
||||
already_running: false,
|
||||
pane_initial_contents: None,
|
||||
logical_position: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
MaxPanes(
|
||||
@@ -1896,6 +2068,8 @@ Some(
|
||||
already_running: false,
|
||||
pane_initial_contents: None,
|
||||
logical_position: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
FloatingPaneLayout {
|
||||
name: None,
|
||||
@@ -1926,6 +2100,8 @@ Some(
|
||||
already_running: false,
|
||||
pane_initial_contents: None,
|
||||
logical_position: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
FloatingPaneLayout {
|
||||
name: None,
|
||||
@@ -1956,6 +2132,8 @@ Some(
|
||||
already_running: false,
|
||||
pane_initial_contents: None,
|
||||
logical_position: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
FloatingPaneLayout {
|
||||
name: None,
|
||||
@@ -1986,6 +2164,8 @@ Some(
|
||||
already_running: false,
|
||||
pane_initial_contents: None,
|
||||
logical_position: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
},
|
||||
|
||||
@@ -596,6 +596,9 @@ fn host_run_plugin_command(mut caller: Caller<'_, PluginEnv>) {
|
||||
PluginCommand::SetPaneBorderless(pane_id, borderless) => {
|
||||
set_pane_borderless(env, pane_id.into(), borderless)
|
||||
},
|
||||
PluginCommand::SetPaneColor(pane_id, fg, bg) => {
|
||||
set_pane_color(env, pane_id.into(), fg, bg)
|
||||
},
|
||||
PluginCommand::OpenFileNearPlugin(file_to_open, context) => {
|
||||
open_file_near_plugin(env, file_to_open, context)
|
||||
},
|
||||
@@ -3602,6 +3605,12 @@ fn set_pane_borderless(env: &PluginEnv, pane_id: PaneId, borderless: bool) {
|
||||
));
|
||||
}
|
||||
|
||||
fn set_pane_color(env: &PluginEnv, pane_id: PaneId, fg: Option<String>, bg: Option<String>) {
|
||||
let _ = env
|
||||
.senders
|
||||
.send_to_screen(ScreenInstruction::SetPaneColor(pane_id, fg, bg, None));
|
||||
}
|
||||
|
||||
fn scan_host_folder(env: &PluginEnv, folder_to_scan: PathBuf) {
|
||||
if !folder_to_scan.starts_with("/host") {
|
||||
log::error!(
|
||||
@@ -5061,6 +5070,7 @@ fn check_command_permission(
|
||||
| PluginCommand::ChangeFloatingPanesCoordinates(..)
|
||||
| PluginCommand::TogglePaneBorderless(..)
|
||||
| PluginCommand::SetPaneBorderless(..)
|
||||
| PluginCommand::SetPaneColor(..)
|
||||
| PluginCommand::GroupAndUngroupPanes(..)
|
||||
| PluginCommand::HighlightAndUnhighlightPanes(..)
|
||||
| PluginCommand::CloseMultiplePanes(..)
|
||||
|
||||
@@ -277,6 +277,16 @@ pub(crate) fn route_action(
|
||||
))
|
||||
.with_context(err_context)?;
|
||||
},
|
||||
Action::SetPaneColor { pane_id, fg, bg } => {
|
||||
senders
|
||||
.send_to_screen(ScreenInstruction::SetPaneColor(
|
||||
pane_id.into(),
|
||||
fg,
|
||||
bg,
|
||||
Some(NotificationEnd::new(completion_tx)),
|
||||
))
|
||||
.with_context(err_context)?;
|
||||
},
|
||||
Action::SwitchToMode { input_mode } => {
|
||||
let attrs = &client_attributes;
|
||||
senders
|
||||
|
||||
@@ -600,6 +600,12 @@ pub enum ScreenInstruction {
|
||||
ResizePaneWithId(ResizeStrategy, PaneId),
|
||||
EditScrollbackForPaneWithId(PaneId, Option<NotificationEnd>),
|
||||
WriteToPaneId(Vec<u8>, PaneId, Option<NotificationEnd>),
|
||||
SetPaneColor(
|
||||
PaneId,
|
||||
Option<String>,
|
||||
Option<String>,
|
||||
Option<NotificationEnd>,
|
||||
),
|
||||
WriteKeyToPaneId(
|
||||
Option<KeyWithModifier>,
|
||||
Vec<u8>,
|
||||
@@ -865,6 +871,7 @@ impl From<&ScreenInstruction> for ScreenContext {
|
||||
ScreenContext::EditScrollbackForPaneWithId
|
||||
},
|
||||
ScreenInstruction::WriteToPaneId(..) => ScreenContext::WriteToPaneId,
|
||||
ScreenInstruction::SetPaneColor(..) => ScreenContext::SetPaneColor,
|
||||
ScreenInstruction::WriteKeyToPaneId(..) => ScreenContext::WriteKeyToPaneId,
|
||||
ScreenInstruction::CopyTextToClipboard(..) => ScreenContext::CopyTextToClipboard,
|
||||
ScreenInstruction::MovePaneWithPaneId(..) => ScreenContext::MovePaneWithPaneId,
|
||||
@@ -3939,6 +3946,7 @@ impl Screen {
|
||||
p_id.and_then(|p_id| if p_id == pane_id { Some(*c_id) } else { None })
|
||||
})
|
||||
.collect();
|
||||
let (default_fg, default_bg) = p.get_pane_default_colors();
|
||||
PaneLayoutMetadata::new(
|
||||
pane_id,
|
||||
p.position_and_size(),
|
||||
@@ -3952,6 +3960,8 @@ impl Screen {
|
||||
None
|
||||
},
|
||||
focused_clients,
|
||||
default_fg,
|
||||
default_bg,
|
||||
)
|
||||
})
|
||||
.collect();
|
||||
@@ -3977,6 +3987,7 @@ impl Screen {
|
||||
p_id.and_then(|p_id| if p_id == pane_id { Some(*c_id) } else { None })
|
||||
})
|
||||
.collect();
|
||||
let (default_fg, default_bg) = p.get_pane_default_colors();
|
||||
PaneLayoutMetadata::new(
|
||||
pane_id,
|
||||
p.position_and_size(),
|
||||
@@ -3990,6 +4001,8 @@ impl Screen {
|
||||
None
|
||||
},
|
||||
focused_clients,
|
||||
default_fg,
|
||||
default_bg,
|
||||
)
|
||||
})
|
||||
.collect();
|
||||
@@ -7127,6 +7140,16 @@ pub(crate) fn screen_thread_main(
|
||||
}
|
||||
screen.render(None)?;
|
||||
},
|
||||
ScreenInstruction::SetPaneColor(pane_id, fg, bg, _completion) => {
|
||||
let all_tabs = screen.get_tabs_mut();
|
||||
for tab in all_tabs.values_mut() {
|
||||
if tab.has_pane_with_pid(&pane_id) {
|
||||
tab.set_pane_color(pane_id, fg, bg).non_fatal();
|
||||
break;
|
||||
}
|
||||
}
|
||||
screen.render(None)?;
|
||||
},
|
||||
ScreenInstruction::WriteKeyToPaneId(
|
||||
key_with_modifier,
|
||||
bytes,
|
||||
|
||||
@@ -533,6 +533,8 @@ impl Into<PaneLayoutManifest> for PaneLayoutMetadata {
|
||||
title: self.title,
|
||||
is_focused: self.is_focused,
|
||||
pane_contents: self.pane_contents,
|
||||
default_fg: self.default_fg,
|
||||
default_bg: self.default_bg,
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -557,6 +559,8 @@ pub struct PaneLayoutMetadata {
|
||||
is_focused: bool,
|
||||
pane_contents: Option<String>,
|
||||
focused_clients: Vec<ClientId>,
|
||||
default_fg: Option<String>,
|
||||
default_bg: Option<String>,
|
||||
}
|
||||
|
||||
impl PaneLayoutMetadata {
|
||||
@@ -569,6 +573,8 @@ impl PaneLayoutMetadata {
|
||||
is_focused: bool,
|
||||
pane_contents: Option<String>,
|
||||
focused_clients: Vec<ClientId>,
|
||||
default_fg: Option<String>,
|
||||
default_bg: Option<String>,
|
||||
) -> Self {
|
||||
PaneLayoutMetadata {
|
||||
id,
|
||||
@@ -580,6 +586,8 @@ impl PaneLayoutMetadata {
|
||||
is_focused,
|
||||
pane_contents,
|
||||
focused_clients,
|
||||
default_fg,
|
||||
default_bg,
|
||||
}
|
||||
}
|
||||
fn to_pane_metadata(&self) -> PaneMetadata {
|
||||
@@ -693,6 +701,8 @@ mod tests {
|
||||
false,
|
||||
None,
|
||||
vec![],
|
||||
None,
|
||||
None,
|
||||
)
|
||||
}
|
||||
|
||||
@@ -710,6 +720,8 @@ mod tests {
|
||||
false,
|
||||
None,
|
||||
vec![],
|
||||
None,
|
||||
None,
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
@@ -653,6 +653,12 @@ impl<'a> LayoutApplier<'a> {
|
||||
} else {
|
||||
new_pane.set_borderless(false);
|
||||
}
|
||||
if floating_pane_layout.default_fg.is_some() || floating_pane_layout.default_bg.is_some() {
|
||||
new_pane.set_pane_default_colors(
|
||||
floating_pane_layout.default_fg.clone(),
|
||||
floating_pane_layout.default_bg.clone(),
|
||||
);
|
||||
}
|
||||
if let Some(held_command) = hold_for_command {
|
||||
new_pane.hold(None, true, held_command.clone());
|
||||
}
|
||||
@@ -722,6 +728,9 @@ impl<'a> LayoutApplier<'a> {
|
||||
if let Some(exclude_from_sync) = layout.exclude_from_sync {
|
||||
new_pane.set_exclude_from_sync(exclude_from_sync);
|
||||
}
|
||||
if layout.default_fg.is_some() || layout.default_bg.is_some() {
|
||||
new_pane.set_pane_default_colors(layout.default_fg.clone(), layout.default_bg.clone());
|
||||
}
|
||||
if let Some(held_command) = hold_for_command {
|
||||
new_pane.hold(None, true, held_command.clone());
|
||||
}
|
||||
|
||||
@@ -323,6 +323,10 @@ pub trait Pane {
|
||||
fn get_selected_text(&self, _client_id: ClientId) -> Option<String> {
|
||||
None
|
||||
}
|
||||
fn set_pane_default_colors(&mut self, _fg: Option<String>, _bg: Option<String>) {}
|
||||
fn get_pane_default_colors(&self) -> (Option<String>, Option<String>) {
|
||||
(None, None)
|
||||
}
|
||||
|
||||
fn right_boundary_x_coords(&self) -> usize {
|
||||
self.x() + self.cols()
|
||||
@@ -2540,6 +2544,22 @@ impl Tab {
|
||||
.values()
|
||||
.any(|s_p| s_p.1.pid() == PaneId::Plugin(plugin_id))
|
||||
}
|
||||
pub fn set_pane_color(
|
||||
&mut self,
|
||||
pane_id: PaneId,
|
||||
fg: Option<String>,
|
||||
bg: Option<String>,
|
||||
) -> Result<()> {
|
||||
let pane = self
|
||||
.floating_panes
|
||||
.get_mut(&pane_id)
|
||||
.or_else(|| self.tiled_panes.get_pane_mut(pane_id))
|
||||
.or_else(|| self.suppressed_panes.get_mut(&pane_id).map(|p| &mut p.1));
|
||||
if let Some(pane) = pane {
|
||||
pane.set_pane_default_colors(fg, bg);
|
||||
}
|
||||
Ok(())
|
||||
}
|
||||
pub fn has_pane_with_pid(&self, pid: &PaneId) -> bool {
|
||||
self.tiled_panes.panes_contain(pid)
|
||||
|| self.floating_panes.panes_contain(pid)
|
||||
@@ -5597,6 +5617,10 @@ pub fn pane_info_for_pane(
|
||||
.collect();
|
||||
pane_info.index_in_pane_group = index_in_pane_group;
|
||||
|
||||
let (default_fg, default_bg) = pane.get_pane_default_colors();
|
||||
pane_info.default_fg = default_fg;
|
||||
pane_info.default_bg = default_bg;
|
||||
|
||||
match pane_id {
|
||||
PaneId::Terminal(terminal_id) => {
|
||||
pane_info.id = *terminal_id;
|
||||
|
||||
+7
@@ -1,5 +1,6 @@
|
||||
---
|
||||
source: zellij-server/src/./unit/screen_tests.rs
|
||||
assertion_line: 3515
|
||||
expression: "format!(\"{:#?}\", new_tab_action)"
|
||||
---
|
||||
Some(
|
||||
@@ -26,6 +27,8 @@ Some(
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -42,6 +45,8 @@ Some(
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -55,6 +60,8 @@ Some(
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
),
|
||||
[],
|
||||
|
||||
+9
@@ -1,5 +1,6 @@
|
||||
---
|
||||
source: zellij-server/src/./unit/screen_tests.rs
|
||||
assertion_line: 3568
|
||||
expression: "format!(\"{:#?}\", new_tab_instruction)"
|
||||
---
|
||||
NewTab(
|
||||
@@ -29,6 +30,8 @@ NewTab(
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -49,6 +52,8 @@ NewTab(
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -69,6 +74,8 @@ NewTab(
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -86,6 +93,8 @@ NewTab(
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
),
|
||||
[],
|
||||
|
||||
@@ -2392,6 +2392,19 @@ pub fn set_pane_borderless(pane_id: PaneId, borderless: bool) {
|
||||
unsafe { host_run_plugin_command() };
|
||||
}
|
||||
|
||||
/// Set the default foreground and/or background color of a pane
|
||||
///
|
||||
/// # Arguments
|
||||
/// * `pane_id` - The ID of the pane (PaneId::Terminal or PaneId::Plugin)
|
||||
/// * `fg` - Optional foreground color string (e.g. "#00e000"), None to leave unchanged
|
||||
/// * `bg` - Optional background color string (e.g. "#001a3a"), None to leave unchanged
|
||||
pub fn set_pane_color(pane_id: PaneId, fg: Option<String>, bg: Option<String>) {
|
||||
let plugin_command = PluginCommand::SetPaneColor(pane_id, fg, bg);
|
||||
let protobuf_plugin_command: ProtobufPluginCommand = plugin_command.try_into().unwrap();
|
||||
object_to_stdout(&protobuf_plugin_command.encode_to_vec());
|
||||
unsafe { host_run_plugin_command() };
|
||||
}
|
||||
|
||||
pub fn start_web_server() {
|
||||
let plugin_command = PluginCommand::StartWebServer;
|
||||
let protobuf_plugin_command: ProtobufPluginCommand = plugin_command.try_into().unwrap();
|
||||
|
||||
@@ -543,6 +543,10 @@ pub struct PaneInfo {
|
||||
pub is_selectable: bool,
|
||||
#[prost(message, repeated, tag="23")]
|
||||
pub index_in_pane_group: ::prost::alloc::vec::Vec<IndexInPaneGroup>,
|
||||
#[prost(string, optional, tag="24")]
|
||||
pub default_fg: ::core::option::Option<::prost::alloc::string::String>,
|
||||
#[prost(string, optional, tag="25")]
|
||||
pub default_bg: ::core::option::Option<::prost::alloc::string::String>,
|
||||
}
|
||||
#[allow(clippy::derive_partial_eq_without_eq)]
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
pub struct PluginCommand {
|
||||
#[prost(enumeration="CommandName", tag="1")]
|
||||
pub name: i32,
|
||||
#[prost(oneof="plugin_command::Payload", tags="2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156")]
|
||||
#[prost(oneof="plugin_command::Payload", tags="2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157")]
|
||||
pub payload: ::core::option::Option<plugin_command::Payload>,
|
||||
}
|
||||
/// Nested message and enum types in `PluginCommand`.
|
||||
@@ -295,6 +295,8 @@ pub mod plugin_command {
|
||||
HideFloatingPanesPayload(super::HideFloatingPanesPayload),
|
||||
#[prost(message, tag="156")]
|
||||
ShowFloatingPanesPayload(super::ShowFloatingPanesPayload),
|
||||
#[prost(message, tag="157")]
|
||||
SetPaneColorPayload(super::SetPaneColorPayload),
|
||||
}
|
||||
}
|
||||
#[allow(clippy::derive_partial_eq_without_eq)]
|
||||
@@ -1768,6 +1770,16 @@ pub mod hide_floating_panes_response {
|
||||
Error(::prost::alloc::string::String),
|
||||
}
|
||||
}
|
||||
#[allow(clippy::derive_partial_eq_without_eq)]
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct SetPaneColorPayload {
|
||||
#[prost(message, optional, tag="1")]
|
||||
pub pane_id: ::core::option::Option<PaneId>,
|
||||
#[prost(string, optional, tag="2")]
|
||||
pub fg: ::core::option::Option<::prost::alloc::string::String>,
|
||||
#[prost(string, optional, tag="3")]
|
||||
pub bg: ::core::option::Option<::prost::alloc::string::String>,
|
||||
}
|
||||
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
|
||||
#[repr(i32)]
|
||||
pub enum CommandName {
|
||||
@@ -1956,6 +1968,7 @@ pub enum CommandName {
|
||||
OpenEditPaneInPlaceOfPaneId = 203,
|
||||
HideFloatingPanes = 204,
|
||||
ShowFloatingPanes = 205,
|
||||
SetPaneColor = 206,
|
||||
}
|
||||
impl CommandName {
|
||||
/// String value of the enum field names used in the ProtoBuf definition.
|
||||
@@ -2149,6 +2162,7 @@ impl CommandName {
|
||||
CommandName::OpenEditPaneInPlaceOfPaneId => "OpenEditPaneInPlaceOfPaneId",
|
||||
CommandName::HideFloatingPanes => "HideFloatingPanes",
|
||||
CommandName::ShowFloatingPanes => "ShowFloatingPanes",
|
||||
CommandName::SetPaneColor => "SetPaneColor",
|
||||
}
|
||||
}
|
||||
/// Creates an enum from field names used in the ProtoBuf definition.
|
||||
@@ -2339,6 +2353,7 @@ impl CommandName {
|
||||
"OpenEditPaneInPlaceOfPaneId" => Some(Self::OpenEditPaneInPlaceOfPaneId),
|
||||
"HideFloatingPanes" => Some(Self::HideFloatingPanes),
|
||||
"ShowFloatingPanes" => Some(Self::ShowFloatingPanes),
|
||||
"SetPaneColor" => Some(Self::SetPaneColor),
|
||||
_ => None,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -119,7 +119,7 @@ pub struct RgbColor {
|
||||
#[allow(clippy::derive_partial_eq_without_eq)]
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct Action {
|
||||
#[prost(oneof="action::ActionType", tags="1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107")]
|
||||
#[prost(oneof="action::ActionType", tags="1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108")]
|
||||
pub action_type: ::core::option::Option<action::ActionType>,
|
||||
}
|
||||
/// Nested message and enum types in `Action`.
|
||||
@@ -341,6 +341,8 @@ pub mod action {
|
||||
ShowFloatingPanes(super::ShowFloatingPanesAction),
|
||||
#[prost(message, tag="107")]
|
||||
HideFloatingPanes(super::HideFloatingPanesAction),
|
||||
#[prost(message, tag="108")]
|
||||
SetPaneColor(super::SetPaneColorAction),
|
||||
}
|
||||
}
|
||||
// Action message definitions (all 92 variants)
|
||||
@@ -1127,6 +1129,16 @@ pub struct SetPaneBorderlessAction {
|
||||
}
|
||||
#[allow(clippy::derive_partial_eq_without_eq)]
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct SetPaneColorAction {
|
||||
#[prost(message, optional, tag="1")]
|
||||
pub pane_id: ::core::option::Option<PaneId>,
|
||||
#[prost(string, optional, tag="2")]
|
||||
pub fg: ::core::option::Option<::prost::alloc::string::String>,
|
||||
#[prost(string, optional, tag="3")]
|
||||
pub bg: ::core::option::Option<::prost::alloc::string::String>,
|
||||
}
|
||||
#[allow(clippy::derive_partial_eq_without_eq)]
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct Position {
|
||||
/// Changed from uint32 to int32 to support negative line numbers
|
||||
#[prost(int32, tag="1")]
|
||||
@@ -1409,9 +1421,13 @@ pub struct TiledPaneLayout {
|
||||
pub is_expanded_in_stack: bool,
|
||||
#[prost(bool, tag="12")]
|
||||
pub hide_floating_panes: bool,
|
||||
/// NOTE: run_instructions_to_ignore is not represented here because it's a field used only inside the server itself and not part of the server/client contract
|
||||
#[prost(string, optional, tag="13")]
|
||||
pub pane_initial_contents: ::core::option::Option<::prost::alloc::string::String>,
|
||||
#[prost(string, optional, tag="14")]
|
||||
pub default_fg: ::core::option::Option<::prost::alloc::string::String>,
|
||||
/// NOTE: run_instructions_to_ignore is not represented here because it's a field used only inside the server itself and not part of the server/client contract
|
||||
#[prost(string, optional, tag="15")]
|
||||
pub default_bg: ::core::option::Option<::prost::alloc::string::String>,
|
||||
}
|
||||
#[allow(clippy::derive_partial_eq_without_eq)]
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
@@ -1440,6 +1456,10 @@ pub struct FloatingPaneLayout {
|
||||
pub logical_position: ::core::option::Option<u32>,
|
||||
#[prost(bool, optional, tag="12")]
|
||||
pub borderless: ::core::option::Option<bool>,
|
||||
#[prost(string, optional, tag="13")]
|
||||
pub default_fg: ::core::option::Option<::prost::alloc::string::String>,
|
||||
#[prost(string, optional, tag="14")]
|
||||
pub default_bg: ::core::option::Option<::prost::alloc::string::String>,
|
||||
}
|
||||
#[allow(clippy::derive_partial_eq_without_eq)]
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
@@ -2562,122 +2582,6 @@ impl WebSharing {
|
||||
}
|
||||
#[allow(clippy::derive_partial_eq_without_eq)]
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct ServerToClientMsg {
|
||||
#[prost(oneof="server_to_client_msg::Message", tags="1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13")]
|
||||
pub message: ::core::option::Option<server_to_client_msg::Message>,
|
||||
}
|
||||
/// Nested message and enum types in `ServerToClientMsg`.
|
||||
pub mod server_to_client_msg {
|
||||
#[allow(clippy::derive_partial_eq_without_eq)]
|
||||
#[derive(Clone, PartialEq, ::prost::Oneof)]
|
||||
pub enum Message {
|
||||
#[prost(message, tag="1")]
|
||||
Render(super::RenderMsg),
|
||||
#[prost(message, tag="2")]
|
||||
UnblockInputThread(super::UnblockInputThreadMsg),
|
||||
#[prost(message, tag="3")]
|
||||
Exit(super::ExitMsg),
|
||||
#[prost(message, tag="4")]
|
||||
Connected(super::ConnectedMsg),
|
||||
#[prost(message, tag="5")]
|
||||
Log(super::LogMsg),
|
||||
#[prost(message, tag="6")]
|
||||
LogError(super::LogErrorMsg),
|
||||
#[prost(message, tag="7")]
|
||||
SwitchSession(super::SwitchSessionMsg),
|
||||
#[prost(message, tag="8")]
|
||||
UnblockCliPipeInput(super::UnblockCliPipeInputMsg),
|
||||
#[prost(message, tag="9")]
|
||||
CliPipeOutput(super::CliPipeOutputMsg),
|
||||
#[prost(message, tag="10")]
|
||||
QueryTerminalSize(super::QueryTerminalSizeMsg),
|
||||
#[prost(message, tag="11")]
|
||||
StartWebServer(super::StartWebServerMsg),
|
||||
#[prost(message, tag="12")]
|
||||
RenamedSession(super::RenamedSessionMsg),
|
||||
#[prost(message, tag="13")]
|
||||
ConfigFileUpdated(super::ConfigFileUpdatedMsg),
|
||||
}
|
||||
}
|
||||
#[allow(clippy::derive_partial_eq_without_eq)]
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct RenderMsg {
|
||||
#[prost(string, tag="1")]
|
||||
pub content: ::prost::alloc::string::String,
|
||||
}
|
||||
/// Empty message
|
||||
#[allow(clippy::derive_partial_eq_without_eq)]
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct UnblockInputThreadMsg {
|
||||
}
|
||||
#[allow(clippy::derive_partial_eq_without_eq)]
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct ExitMsg {
|
||||
#[prost(enumeration="ExitReason", tag="1")]
|
||||
pub exit_reason: i32,
|
||||
#[prost(string, optional, tag="2")]
|
||||
pub payload: ::core::option::Option<::prost::alloc::string::String>,
|
||||
}
|
||||
/// Empty message
|
||||
#[allow(clippy::derive_partial_eq_without_eq)]
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct ConnectedMsg {
|
||||
}
|
||||
#[allow(clippy::derive_partial_eq_without_eq)]
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct LogMsg {
|
||||
#[prost(string, repeated, tag="1")]
|
||||
pub lines: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
|
||||
}
|
||||
#[allow(clippy::derive_partial_eq_without_eq)]
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct LogErrorMsg {
|
||||
#[prost(string, repeated, tag="1")]
|
||||
pub lines: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
|
||||
}
|
||||
#[allow(clippy::derive_partial_eq_without_eq)]
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct SwitchSessionMsg {
|
||||
#[prost(message, optional, tag="1")]
|
||||
pub connect_to_session: ::core::option::Option<ConnectToSession>,
|
||||
}
|
||||
#[allow(clippy::derive_partial_eq_without_eq)]
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct UnblockCliPipeInputMsg {
|
||||
#[prost(string, tag="1")]
|
||||
pub pipe_name: ::prost::alloc::string::String,
|
||||
}
|
||||
#[allow(clippy::derive_partial_eq_without_eq)]
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct CliPipeOutputMsg {
|
||||
#[prost(string, tag="1")]
|
||||
pub pipe_name: ::prost::alloc::string::String,
|
||||
#[prost(string, tag="2")]
|
||||
pub output: ::prost::alloc::string::String,
|
||||
}
|
||||
/// Empty message
|
||||
#[allow(clippy::derive_partial_eq_without_eq)]
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct QueryTerminalSizeMsg {
|
||||
}
|
||||
/// Empty message
|
||||
#[allow(clippy::derive_partial_eq_without_eq)]
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct StartWebServerMsg {
|
||||
}
|
||||
#[allow(clippy::derive_partial_eq_without_eq)]
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct RenamedSessionMsg {
|
||||
#[prost(string, tag="1")]
|
||||
pub name: ::prost::alloc::string::String,
|
||||
}
|
||||
/// Empty message
|
||||
#[allow(clippy::derive_partial_eq_without_eq)]
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct ConfigFileUpdatedMsg {
|
||||
}
|
||||
#[allow(clippy::derive_partial_eq_without_eq)]
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct ClientToServerMsg {
|
||||
#[prost(oneof="client_to_server_msg::Message", tags="1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16")]
|
||||
pub message: ::core::option::Option<client_to_server_msg::Message>,
|
||||
@@ -2834,3 +2738,119 @@ pub struct FailedToStartWebServerMsg {
|
||||
#[prost(string, tag="1")]
|
||||
pub error: ::prost::alloc::string::String,
|
||||
}
|
||||
#[allow(clippy::derive_partial_eq_without_eq)]
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct ServerToClientMsg {
|
||||
#[prost(oneof="server_to_client_msg::Message", tags="1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13")]
|
||||
pub message: ::core::option::Option<server_to_client_msg::Message>,
|
||||
}
|
||||
/// Nested message and enum types in `ServerToClientMsg`.
|
||||
pub mod server_to_client_msg {
|
||||
#[allow(clippy::derive_partial_eq_without_eq)]
|
||||
#[derive(Clone, PartialEq, ::prost::Oneof)]
|
||||
pub enum Message {
|
||||
#[prost(message, tag="1")]
|
||||
Render(super::RenderMsg),
|
||||
#[prost(message, tag="2")]
|
||||
UnblockInputThread(super::UnblockInputThreadMsg),
|
||||
#[prost(message, tag="3")]
|
||||
Exit(super::ExitMsg),
|
||||
#[prost(message, tag="4")]
|
||||
Connected(super::ConnectedMsg),
|
||||
#[prost(message, tag="5")]
|
||||
Log(super::LogMsg),
|
||||
#[prost(message, tag="6")]
|
||||
LogError(super::LogErrorMsg),
|
||||
#[prost(message, tag="7")]
|
||||
SwitchSession(super::SwitchSessionMsg),
|
||||
#[prost(message, tag="8")]
|
||||
UnblockCliPipeInput(super::UnblockCliPipeInputMsg),
|
||||
#[prost(message, tag="9")]
|
||||
CliPipeOutput(super::CliPipeOutputMsg),
|
||||
#[prost(message, tag="10")]
|
||||
QueryTerminalSize(super::QueryTerminalSizeMsg),
|
||||
#[prost(message, tag="11")]
|
||||
StartWebServer(super::StartWebServerMsg),
|
||||
#[prost(message, tag="12")]
|
||||
RenamedSession(super::RenamedSessionMsg),
|
||||
#[prost(message, tag="13")]
|
||||
ConfigFileUpdated(super::ConfigFileUpdatedMsg),
|
||||
}
|
||||
}
|
||||
#[allow(clippy::derive_partial_eq_without_eq)]
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct RenderMsg {
|
||||
#[prost(string, tag="1")]
|
||||
pub content: ::prost::alloc::string::String,
|
||||
}
|
||||
/// Empty message
|
||||
#[allow(clippy::derive_partial_eq_without_eq)]
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct UnblockInputThreadMsg {
|
||||
}
|
||||
#[allow(clippy::derive_partial_eq_without_eq)]
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct ExitMsg {
|
||||
#[prost(enumeration="ExitReason", tag="1")]
|
||||
pub exit_reason: i32,
|
||||
#[prost(string, optional, tag="2")]
|
||||
pub payload: ::core::option::Option<::prost::alloc::string::String>,
|
||||
}
|
||||
/// Empty message
|
||||
#[allow(clippy::derive_partial_eq_without_eq)]
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct ConnectedMsg {
|
||||
}
|
||||
#[allow(clippy::derive_partial_eq_without_eq)]
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct LogMsg {
|
||||
#[prost(string, repeated, tag="1")]
|
||||
pub lines: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
|
||||
}
|
||||
#[allow(clippy::derive_partial_eq_without_eq)]
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct LogErrorMsg {
|
||||
#[prost(string, repeated, tag="1")]
|
||||
pub lines: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
|
||||
}
|
||||
#[allow(clippy::derive_partial_eq_without_eq)]
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct SwitchSessionMsg {
|
||||
#[prost(message, optional, tag="1")]
|
||||
pub connect_to_session: ::core::option::Option<ConnectToSession>,
|
||||
}
|
||||
#[allow(clippy::derive_partial_eq_without_eq)]
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct UnblockCliPipeInputMsg {
|
||||
#[prost(string, tag="1")]
|
||||
pub pipe_name: ::prost::alloc::string::String,
|
||||
}
|
||||
#[allow(clippy::derive_partial_eq_without_eq)]
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct CliPipeOutputMsg {
|
||||
#[prost(string, tag="1")]
|
||||
pub pipe_name: ::prost::alloc::string::String,
|
||||
#[prost(string, tag="2")]
|
||||
pub output: ::prost::alloc::string::String,
|
||||
}
|
||||
/// Empty message
|
||||
#[allow(clippy::derive_partial_eq_without_eq)]
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct QueryTerminalSizeMsg {
|
||||
}
|
||||
/// Empty message
|
||||
#[allow(clippy::derive_partial_eq_without_eq)]
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct StartWebServerMsg {
|
||||
}
|
||||
#[allow(clippy::derive_partial_eq_without_eq)]
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct RenamedSessionMsg {
|
||||
#[prost(string, tag="1")]
|
||||
pub name: ::prost::alloc::string::String,
|
||||
}
|
||||
/// Empty message
|
||||
#[allow(clippy::derive_partial_eq_without_eq)]
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct ConfigFileUpdatedMsg {
|
||||
}
|
||||
|
||||
+21
-4
@@ -111,6 +111,11 @@ pub enum Command {
|
||||
#[clap(name = "web", value_parser)]
|
||||
Web(WebCli),
|
||||
|
||||
/// Send actions to a specific session
|
||||
#[clap(visible_alias = "ac")]
|
||||
#[clap(subcommand)]
|
||||
Action(Box<CliAction>),
|
||||
|
||||
/// Explore existing zellij sessions
|
||||
#[clap(flatten)]
|
||||
Sessions(Sessions),
|
||||
@@ -333,10 +338,6 @@ pub enum Sessions {
|
||||
force: bool,
|
||||
},
|
||||
|
||||
/// Send actions to a specific session
|
||||
#[clap(visible_alias = "ac")]
|
||||
#[clap(subcommand)]
|
||||
Action(CliAction),
|
||||
/// Run a command in a new pane
|
||||
/// Returns: Created pane ID (format: terminal_<id>)
|
||||
#[clap(visible_alias = "r")]
|
||||
@@ -1355,4 +1356,20 @@ tail -f /tmp/my-live-logfile | zellij action pipe --name logs --plugin https://e
|
||||
#[clap(short, long, value_parser)]
|
||||
cwd: Option<PathBuf>,
|
||||
},
|
||||
/// Set the default foreground/background color of a pane
|
||||
SetPaneColor {
|
||||
/// The pane_id of the pane, eg. terminal_1, plugin_2 or 3 (equivalent to terminal_3).
|
||||
/// Defaults to $ZELLIJ_PANE_ID if not provided.
|
||||
#[clap(short, long, value_parser)]
|
||||
pane_id: Option<String>,
|
||||
/// Foreground color (e.g. "#00e000", "rgb:00/e0/00")
|
||||
#[clap(long, value_parser)]
|
||||
fg: Option<String>,
|
||||
/// Background color (e.g. "#001a3a", "rgb:00/1a/3a")
|
||||
#[clap(long, value_parser)]
|
||||
bg: Option<String>,
|
||||
/// Reset pane colors to terminal defaults
|
||||
#[clap(long, value_parser, conflicts_with_all(&["fg", "bg"]))]
|
||||
reset: bool,
|
||||
},
|
||||
}
|
||||
|
||||
@@ -243,6 +243,7 @@ message Action {
|
||||
CurrentTabInfoAction current_tab_info = 105;
|
||||
ShowFloatingPanesAction show_floating_panes = 106;
|
||||
HideFloatingPanesAction hide_floating_panes = 107;
|
||||
SetPaneColorAction set_pane_color = 108;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -651,6 +652,12 @@ message SetPaneBorderlessAction {
|
||||
bool borderless = 2;
|
||||
}
|
||||
|
||||
message SetPaneColorAction {
|
||||
PaneId pane_id = 1;
|
||||
optional string fg = 2;
|
||||
optional string bg = 3;
|
||||
}
|
||||
|
||||
// Supporting enums and messages
|
||||
enum InputMode {
|
||||
INPUT_MODE_UNSPECIFIED = 0;
|
||||
@@ -856,6 +863,8 @@ message TiledPaneLayout {
|
||||
bool is_expanded_in_stack = 11;
|
||||
bool hide_floating_panes = 12;
|
||||
optional string pane_initial_contents = 13;
|
||||
optional string default_fg = 14;
|
||||
optional string default_bg = 15;
|
||||
// NOTE: run_instructions_to_ignore is not represented here because it's a field used only inside the server itself and not part of the server/client contract
|
||||
}
|
||||
|
||||
@@ -872,6 +881,8 @@ message FloatingPaneLayout {
|
||||
optional string pane_initial_contents = 10;
|
||||
optional uint32 logical_position = 11;
|
||||
optional bool borderless = 12;
|
||||
optional string default_fg = 13;
|
||||
optional string default_bg = 14;
|
||||
}
|
||||
|
||||
message SwapTiledLayout {
|
||||
|
||||
@@ -2264,6 +2264,10 @@ pub struct PaneInfo {
|
||||
/// Grouped panes (usually through an explicit user action) that are staged for a bulk action
|
||||
/// the index is kept track of in order to preserve the pane group order
|
||||
pub index_in_pane_group: BTreeMap<ClientId, usize>,
|
||||
/// The default foreground color of this pane, if set (e.g. "#00e000")
|
||||
pub default_fg: Option<String>,
|
||||
/// The default background color of this pane, if set (e.g. "#001a3a")
|
||||
pub default_bg: Option<String>,
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, PartialEq, Eq, Deserialize, Serialize)]
|
||||
@@ -3471,6 +3475,7 @@ pub enum PluginCommand {
|
||||
ShowFloatingPanes {
|
||||
tab_id: Option<usize>,
|
||||
},
|
||||
SetPaneColor(PaneId, Option<String>, Option<String>), // (pane_id, fg, bg)
|
||||
}
|
||||
|
||||
// Response type for plugin API methods that open a pane in a new tab
|
||||
|
||||
@@ -372,6 +372,7 @@ pub enum ScreenContext {
|
||||
ResizePaneWithId,
|
||||
EditScrollbackForPaneWithId,
|
||||
WriteToPaneId,
|
||||
SetPaneColor,
|
||||
WriteKeyToPaneId,
|
||||
CopyTextToClipboard,
|
||||
MovePaneWithPaneId,
|
||||
|
||||
@@ -327,6 +327,12 @@ pub enum Action {
|
||||
command: RunCommandAction,
|
||||
near_current_pane: bool,
|
||||
},
|
||||
/// Set pane default foreground/background color
|
||||
SetPaneColor {
|
||||
pane_id: PaneId,
|
||||
fg: Option<String>,
|
||||
bg: Option<String>,
|
||||
},
|
||||
/// Detach session and exit
|
||||
Detach,
|
||||
/// Switch to a different session
|
||||
@@ -1492,6 +1498,38 @@ impl Action {
|
||||
}
|
||||
}
|
||||
},
|
||||
CliAction::SetPaneColor {
|
||||
pane_id,
|
||||
fg,
|
||||
bg,
|
||||
reset,
|
||||
} => {
|
||||
let pane_id_str = match pane_id {
|
||||
Some(id) => id,
|
||||
None => std::env::var("ZELLIJ_PANE_ID").map_err(|_| {
|
||||
"No --pane-id provided and ZELLIJ_PANE_ID is not set".to_string()
|
||||
})?,
|
||||
};
|
||||
let parsed_pane_id = PaneId::from_str(&pane_id_str);
|
||||
match parsed_pane_id {
|
||||
Ok(parsed_pane_id) => {
|
||||
let (fg, bg) = if reset {
|
||||
(None, None)
|
||||
} else {
|
||||
(fg, bg)
|
||||
};
|
||||
Ok(vec![Action::SetPaneColor {
|
||||
pane_id: parsed_pane_id,
|
||||
fg,
|
||||
bg,
|
||||
}])
|
||||
},
|
||||
Err(_e) => Err(format!(
|
||||
"Malformed pane id: {}, expecting either a bare integer (eg. 1), a terminal pane id (eg. terminal_1) or a plugin pane id (eg. plugin_1)",
|
||||
pane_id_str
|
||||
)),
|
||||
}
|
||||
},
|
||||
CliAction::Detach => Ok(vec![Action::Detach]),
|
||||
CliAction::SwitchSession {
|
||||
name,
|
||||
|
||||
@@ -794,6 +794,8 @@ pub struct FloatingPaneLayout {
|
||||
pub already_running: bool,
|
||||
pub pane_initial_contents: Option<String>,
|
||||
pub logical_position: Option<usize>,
|
||||
pub default_fg: Option<String>,
|
||||
pub default_bg: Option<String>,
|
||||
}
|
||||
|
||||
impl FloatingPaneLayout {
|
||||
@@ -811,6 +813,8 @@ impl FloatingPaneLayout {
|
||||
already_running: false,
|
||||
pane_initial_contents: None,
|
||||
logical_position: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
}
|
||||
}
|
||||
pub fn add_cwd_to_layout(&mut self, cwd: &PathBuf) {
|
||||
@@ -855,6 +859,8 @@ pub struct TiledPaneLayout {
|
||||
pub run_instructions_to_ignore: Vec<Option<Run>>,
|
||||
pub hide_floating_panes: bool, // only relevant if this is the base layout
|
||||
pub pane_initial_contents: Option<String>,
|
||||
pub default_fg: Option<String>,
|
||||
pub default_bg: Option<String>,
|
||||
}
|
||||
|
||||
impl TiledPaneLayout {
|
||||
|
||||
+7
@@ -1,5 +1,6 @@
|
||||
---
|
||||
source: zellij-utils/src/input/./unit/layout_test.rs
|
||||
assertion_line: 1410
|
||||
expression: "format!(\"{:#?}\", layout)"
|
||||
---
|
||||
Layout {
|
||||
@@ -38,6 +39,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -69,6 +72,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -82,6 +87,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
[],
|
||||
),
|
||||
|
||||
+7
@@ -1,5 +1,6 @@
|
||||
---
|
||||
source: zellij-utils/src/input/./unit/layout_test.rs
|
||||
assertion_line: 1375
|
||||
expression: "format!(\"{:#?}\", layout)"
|
||||
---
|
||||
Layout {
|
||||
@@ -41,6 +42,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -72,6 +75,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -85,6 +90,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
[],
|
||||
),
|
||||
|
||||
+11
@@ -1,5 +1,6 @@
|
||||
---
|
||||
source: zellij-utils/src/input/./unit/layout_test.rs
|
||||
assertion_line: 1984
|
||||
expression: "format!(\"{:#?}\", layout)"
|
||||
---
|
||||
Layout {
|
||||
@@ -30,6 +31,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -46,6 +49,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -62,6 +67,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -75,6 +82,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -88,6 +97,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
[],
|
||||
),
|
||||
|
||||
+9
@@ -1,5 +1,6 @@
|
||||
---
|
||||
source: zellij-utils/src/input/./unit/layout_test.rs
|
||||
assertion_line: 1952
|
||||
expression: "format!(\"{:#?}\", layout)"
|
||||
---
|
||||
Layout {
|
||||
@@ -30,6 +31,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -46,6 +49,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -59,6 +64,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -72,6 +79,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
[],
|
||||
),
|
||||
|
||||
+11
@@ -1,5 +1,6 @@
|
||||
---
|
||||
source: zellij-utils/src/input/./unit/layout_test.rs
|
||||
assertion_line: 1969
|
||||
expression: "format!(\"{:#?}\", layout)"
|
||||
---
|
||||
Layout {
|
||||
@@ -34,6 +35,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -50,6 +53,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -63,6 +68,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -76,6 +83,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -89,6 +98,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
[],
|
||||
),
|
||||
|
||||
+73
@@ -1,5 +1,6 @@
|
||||
---
|
||||
source: zellij-utils/src/input/./unit/layout_test.rs
|
||||
assertion_line: 1938
|
||||
expression: "format!(\"{:#?}\", layout)"
|
||||
---
|
||||
Layout {
|
||||
@@ -26,6 +27,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -39,6 +42,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
[],
|
||||
),
|
||||
@@ -91,6 +96,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -115,6 +122,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -133,6 +142,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -146,6 +157,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -159,6 +172,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -198,6 +213,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -211,6 +228,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
MaxPanes(
|
||||
8,
|
||||
@@ -256,6 +275,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -282,6 +303,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -302,6 +325,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -318,6 +343,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -334,6 +361,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -350,6 +379,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -363,6 +394,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -376,6 +409,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -389,6 +424,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -428,6 +465,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -441,6 +480,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
MaxPanes(
|
||||
12,
|
||||
@@ -486,6 +527,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -512,6 +555,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -532,6 +577,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -548,6 +595,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -564,6 +613,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -580,6 +631,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -593,6 +646,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -613,6 +668,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -629,6 +686,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -645,6 +704,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -661,6 +722,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -674,6 +737,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -687,6 +752,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -700,6 +767,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -739,6 +808,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -752,6 +823,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
},
|
||||
Some(
|
||||
|
||||
+25
@@ -1,5 +1,6 @@
|
||||
---
|
||||
source: zellij-utils/src/input/./unit/layout_test.rs
|
||||
assertion_line: 1033
|
||||
expression: "format!(\"{:#?}\", layout)"
|
||||
---
|
||||
Layout {
|
||||
@@ -36,6 +37,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -56,6 +59,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -72,6 +77,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -85,6 +92,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -98,6 +107,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -114,6 +125,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -127,6 +140,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -151,6 +166,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -166,6 +183,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -182,6 +201,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -195,6 +216,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -208,6 +231,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
[],
|
||||
),
|
||||
|
||||
+25
@@ -1,5 +1,6 @@
|
||||
---
|
||||
source: zellij-utils/src/input/./unit/layout_test.rs
|
||||
assertion_line: 985
|
||||
expression: "format!(\"{:#?}\", layout)"
|
||||
---
|
||||
Layout {
|
||||
@@ -31,6 +32,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -51,6 +54,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -67,6 +72,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -80,6 +87,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -93,6 +102,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -109,6 +120,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -122,6 +135,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
[],
|
||||
),
|
||||
@@ -150,6 +165,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -165,6 +182,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -181,6 +200,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -194,6 +215,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
[],
|
||||
),
|
||||
@@ -216,6 +239,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
[],
|
||||
),
|
||||
|
||||
+7
@@ -1,5 +1,6 @@
|
||||
---
|
||||
source: zellij-utils/src/input/./unit/layout_test.rs
|
||||
assertion_line: 1427
|
||||
expression: "format!(\"{:#?}\", layout)"
|
||||
---
|
||||
Layout {
|
||||
@@ -38,6 +39,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -66,6 +69,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -79,6 +84,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
[],
|
||||
),
|
||||
|
||||
+7
@@ -1,5 +1,6 @@
|
||||
---
|
||||
source: zellij-utils/src/input/./unit/layout_test.rs
|
||||
assertion_line: 1393
|
||||
expression: "format!(\"{:#?}\", layout)"
|
||||
---
|
||||
Layout {
|
||||
@@ -38,6 +39,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -66,6 +69,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -79,6 +84,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
[],
|
||||
),
|
||||
|
||||
+35
@@ -1,5 +1,6 @@
|
||||
---
|
||||
source: zellij-utils/src/input/./unit/layout_test.rs
|
||||
assertion_line: 1085
|
||||
expression: "format!(\"{:#?}\", layout)"
|
||||
---
|
||||
Layout {
|
||||
@@ -31,6 +32,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -53,6 +56,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -66,6 +71,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -82,6 +89,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -95,6 +104,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -115,6 +126,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -131,6 +144,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -144,6 +159,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -157,6 +174,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
[],
|
||||
),
|
||||
@@ -185,6 +204,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -207,6 +228,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -220,6 +243,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -236,6 +261,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -249,6 +276,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -265,6 +294,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -278,6 +309,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
[],
|
||||
),
|
||||
@@ -300,6 +333,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
[],
|
||||
),
|
||||
|
||||
+7
@@ -1,5 +1,6 @@
|
||||
---
|
||||
source: zellij-utils/src/input/./unit/layout_test.rs
|
||||
assertion_line: 1462
|
||||
expression: "format!(\"{:#?}\", layout)"
|
||||
---
|
||||
Layout {
|
||||
@@ -38,6 +39,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -68,6 +71,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -81,6 +86,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
[],
|
||||
),
|
||||
|
||||
+7
@@ -1,5 +1,6 @@
|
||||
---
|
||||
source: zellij-utils/src/input/./unit/layout_test.rs
|
||||
assertion_line: 1445
|
||||
expression: "format!(\"{:#?}\", layout)"
|
||||
---
|
||||
Layout {
|
||||
@@ -40,6 +41,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -70,6 +73,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -83,6 +88,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
[],
|
||||
),
|
||||
|
||||
+41
@@ -1,5 +1,6 @@
|
||||
---
|
||||
source: zellij-utils/src/input/./unit/layout_test.rs
|
||||
assertion_line: 2230
|
||||
expression: "format!(\"{layout:#?}\")"
|
||||
---
|
||||
Layout {
|
||||
@@ -29,6 +30,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -49,6 +52,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -69,6 +74,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -89,6 +96,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -119,6 +128,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -143,6 +154,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -167,6 +180,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -197,6 +212,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -221,6 +238,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -238,6 +257,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
[],
|
||||
),
|
||||
@@ -268,6 +289,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -288,6 +311,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -308,6 +333,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -328,6 +355,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -358,6 +387,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -382,6 +413,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -406,6 +439,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -436,6 +471,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -460,6 +497,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -477,6 +516,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
[],
|
||||
),
|
||||
|
||||
+9
@@ -1,5 +1,6 @@
|
||||
---
|
||||
source: zellij-utils/src/input/./unit/layout_test.rs
|
||||
assertion_line: 1847
|
||||
expression: "format!(\"{:#?}\", layout)"
|
||||
---
|
||||
Layout {
|
||||
@@ -29,6 +30,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -59,6 +62,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -76,6 +81,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
[],
|
||||
),
|
||||
@@ -98,6 +105,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
[],
|
||||
),
|
||||
|
||||
+15
@@ -1,5 +1,6 @@
|
||||
---
|
||||
source: zellij-utils/src/input/./unit/layout_test.rs
|
||||
assertion_line: 1868
|
||||
expression: "format!(\"{:#?}\", layout)"
|
||||
---
|
||||
Layout {
|
||||
@@ -33,6 +34,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -63,6 +66,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -87,6 +92,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -104,6 +111,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -121,6 +130,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -138,6 +149,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
[],
|
||||
),
|
||||
@@ -160,6 +173,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
[],
|
||||
),
|
||||
|
||||
+13
@@ -1,5 +1,6 @@
|
||||
---
|
||||
source: zellij-utils/src/input/./unit/layout_test.rs
|
||||
assertion_line: 1887
|
||||
expression: "format!(\"{:#?}\", layout)"
|
||||
---
|
||||
Layout {
|
||||
@@ -29,6 +30,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -59,6 +62,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -83,6 +88,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -100,6 +107,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -117,6 +126,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
[],
|
||||
),
|
||||
@@ -139,6 +150,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
[],
|
||||
),
|
||||
|
||||
+13
@@ -1,5 +1,6 @@
|
||||
---
|
||||
source: zellij-utils/src/input/./unit/layout_test.rs
|
||||
assertion_line: 1732
|
||||
expression: "format!(\"{:#?}\", layout)"
|
||||
---
|
||||
Layout {
|
||||
@@ -29,6 +30,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -59,6 +62,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -76,6 +81,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
[],
|
||||
),
|
||||
@@ -106,6 +113,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -136,6 +145,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -153,6 +164,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
[],
|
||||
),
|
||||
|
||||
+7
@@ -1,5 +1,6 @@
|
||||
---
|
||||
source: zellij-utils/src/input/./unit/layout_test.rs
|
||||
assertion_line: 1765
|
||||
expression: "format!(\"{:#?}\", layout)"
|
||||
---
|
||||
Layout {
|
||||
@@ -30,6 +31,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -60,6 +63,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -77,6 +82,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
[],
|
||||
),
|
||||
|
||||
+13
@@ -1,5 +1,6 @@
|
||||
---
|
||||
source: zellij-utils/src/input/./unit/layout_test.rs
|
||||
assertion_line: 1786
|
||||
expression: "format!(\"{:#?}\", layout)"
|
||||
---
|
||||
Layout {
|
||||
@@ -29,6 +30,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -59,6 +62,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -76,6 +81,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
[],
|
||||
),
|
||||
@@ -106,6 +113,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -136,6 +145,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -153,6 +164,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
[],
|
||||
),
|
||||
|
||||
+13
@@ -1,5 +1,6 @@
|
||||
---
|
||||
source: zellij-utils/src/input/./unit/layout_test.rs
|
||||
assertion_line: 1745
|
||||
expression: "format!(\"{:#?}\", layout)"
|
||||
---
|
||||
Layout {
|
||||
@@ -29,6 +30,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -59,6 +62,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -76,6 +81,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
[],
|
||||
),
|
||||
@@ -106,6 +113,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -136,6 +145,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -153,6 +164,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
[],
|
||||
),
|
||||
|
||||
+9
@@ -1,5 +1,6 @@
|
||||
---
|
||||
source: zellij-utils/src/input/./unit/layout_test.rs
|
||||
assertion_line: 1802
|
||||
expression: "format!(\"{:#?}\", layout)"
|
||||
---
|
||||
Layout {
|
||||
@@ -29,6 +30,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -59,6 +62,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -76,6 +81,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
[],
|
||||
),
|
||||
@@ -98,6 +105,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
[],
|
||||
),
|
||||
|
||||
+5
@@ -1,5 +1,6 @@
|
||||
---
|
||||
source: zellij-utils/src/input/./unit/layout_test.rs
|
||||
assertion_line: 511
|
||||
expression: "format!(\"{:#?}\", layout)"
|
||||
---
|
||||
Layout {
|
||||
@@ -38,6 +39,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -51,6 +54,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
[],
|
||||
),
|
||||
|
||||
+5
@@ -1,5 +1,6 @@
|
||||
---
|
||||
source: zellij-utils/src/input/./unit/layout_test.rs
|
||||
assertion_line: 524
|
||||
expression: "format!(\"{:#?}\", layout)"
|
||||
---
|
||||
Layout {
|
||||
@@ -38,6 +39,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -51,6 +54,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
[],
|
||||
),
|
||||
|
||||
+41
@@ -1,5 +1,6 @@
|
||||
---
|
||||
source: zellij-utils/src/input/./unit/layout_test.rs
|
||||
assertion_line: 819
|
||||
expression: "format!(\"{:#?}\", layout)"
|
||||
---
|
||||
Layout {
|
||||
@@ -27,6 +28,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Vertical,
|
||||
@@ -47,6 +50,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -63,6 +68,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -76,6 +83,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -92,6 +101,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -105,6 +116,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
[],
|
||||
),
|
||||
@@ -131,6 +144,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -151,6 +166,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -167,6 +184,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -180,6 +199,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -196,6 +217,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -209,6 +232,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
[],
|
||||
),
|
||||
@@ -233,6 +258,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -249,6 +276,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -265,6 +294,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -278,6 +309,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
[],
|
||||
),
|
||||
@@ -304,6 +337,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -320,6 +355,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -336,6 +373,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -349,6 +388,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
[],
|
||||
),
|
||||
|
||||
+23
@@ -1,5 +1,6 @@
|
||||
---
|
||||
source: zellij-utils/src/input/./unit/layout_test.rs
|
||||
assertion_line: 939
|
||||
expression: "format!(\"{:#?}\", layout)"
|
||||
---
|
||||
Layout {
|
||||
@@ -30,6 +31,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -46,6 +49,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -66,6 +71,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -82,6 +89,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -95,6 +104,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -115,6 +126,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -131,6 +144,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -147,6 +162,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -160,6 +177,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -173,6 +192,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -186,6 +207,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
[],
|
||||
),
|
||||
|
||||
+17
@@ -1,5 +1,6 @@
|
||||
---
|
||||
source: zellij-utils/src/input/./unit/layout_test.rs
|
||||
assertion_line: 913
|
||||
expression: "format!(\"{:#?}\", layout)"
|
||||
---
|
||||
Layout {
|
||||
@@ -30,6 +31,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -46,6 +49,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -66,6 +71,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -82,6 +89,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -95,6 +104,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -111,6 +122,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -124,6 +137,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -137,6 +152,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
[],
|
||||
),
|
||||
|
||||
+23
@@ -1,5 +1,6 @@
|
||||
---
|
||||
source: zellij-utils/src/input/./unit/layout_test.rs
|
||||
assertion_line: 844
|
||||
expression: "format!(\"{:#?}\", layout)"
|
||||
---
|
||||
Layout {
|
||||
@@ -27,6 +28,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -43,6 +46,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -56,6 +61,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
[],
|
||||
),
|
||||
@@ -82,6 +89,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -98,6 +107,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -111,6 +122,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
[],
|
||||
),
|
||||
@@ -131,6 +144,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
[],
|
||||
),
|
||||
@@ -161,6 +176,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -177,6 +194,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -190,6 +209,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -203,6 +224,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
[],
|
||||
),
|
||||
|
||||
+5
@@ -1,5 +1,6 @@
|
||||
---
|
||||
source: zellij-utils/src/input/./unit/layout_test.rs
|
||||
assertion_line: 1096
|
||||
expression: "format!(\"{:#?}\", layout)"
|
||||
---
|
||||
Layout {
|
||||
@@ -28,6 +29,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -41,6 +44,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
[],
|
||||
),
|
||||
|
||||
+45
@@ -1,5 +1,6 @@
|
||||
---
|
||||
source: zellij-utils/src/input/./unit/layout_test.rs
|
||||
assertion_line: 871
|
||||
expression: "format!(\"{:#?}\", layout)"
|
||||
---
|
||||
Layout {
|
||||
@@ -30,6 +31,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -50,6 +53,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -63,6 +68,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -79,6 +86,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -92,6 +101,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Vertical,
|
||||
@@ -112,6 +123,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -132,6 +145,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -148,6 +163,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -161,6 +178,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -177,6 +196,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -190,6 +211,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Vertical,
|
||||
@@ -210,6 +233,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Vertical,
|
||||
@@ -230,6 +255,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -246,6 +273,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -259,6 +288,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -275,6 +306,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -288,6 +321,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Vertical,
|
||||
@@ -308,6 +343,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -324,6 +361,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -340,6 +379,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -353,6 +394,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -366,6 +409,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
[],
|
||||
),
|
||||
|
||||
+15
@@ -1,5 +1,6 @@
|
||||
---
|
||||
source: zellij-utils/src/input/./unit/layout_test.rs
|
||||
assertion_line: 892
|
||||
expression: "format!(\"{:#?}\", layout)"
|
||||
---
|
||||
Layout {
|
||||
@@ -29,6 +30,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -61,6 +64,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -74,6 +79,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -90,6 +97,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -103,6 +112,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -116,6 +127,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
[],
|
||||
),
|
||||
@@ -138,6 +151,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
[],
|
||||
),
|
||||
|
||||
+17
@@ -1,5 +1,6 @@
|
||||
---
|
||||
source: zellij-utils/src/input/./unit/layout_test.rs
|
||||
assertion_line: 305
|
||||
expression: "format!(\"{:#?}\", layout)"
|
||||
---
|
||||
Layout {
|
||||
@@ -25,6 +26,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -38,6 +41,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
[
|
||||
FloatingPaneLayout {
|
||||
@@ -53,6 +58,8 @@ Layout {
|
||||
already_running: false,
|
||||
pane_initial_contents: None,
|
||||
logical_position: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
),
|
||||
@@ -77,6 +84,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -90,6 +99,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
[
|
||||
FloatingPaneLayout {
|
||||
@@ -105,6 +116,8 @@ Layout {
|
||||
already_running: false,
|
||||
pane_initial_contents: None,
|
||||
logical_position: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
FloatingPaneLayout {
|
||||
name: None,
|
||||
@@ -119,6 +132,8 @@ Layout {
|
||||
already_running: false,
|
||||
pane_initial_contents: None,
|
||||
logical_position: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
),
|
||||
@@ -141,6 +156,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
[],
|
||||
),
|
||||
|
||||
+9
@@ -1,5 +1,6 @@
|
||||
---
|
||||
source: zellij-utils/src/input/./unit/layout_test.rs
|
||||
assertion_line: 1616
|
||||
expression: "format!(\"{:#?}\", layout)"
|
||||
---
|
||||
Layout {
|
||||
@@ -39,6 +40,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -56,6 +59,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
[],
|
||||
),
|
||||
@@ -96,6 +101,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -113,6 +120,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
[],
|
||||
),
|
||||
|
||||
+9
@@ -1,5 +1,6 @@
|
||||
---
|
||||
source: zellij-utils/src/input/./unit/layout_test.rs
|
||||
assertion_line: 1562
|
||||
expression: "format!(\"{:#?}\", layout)"
|
||||
---
|
||||
Layout {
|
||||
@@ -39,6 +40,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -56,6 +59,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
[],
|
||||
),
|
||||
@@ -96,6 +101,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -113,6 +120,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
[],
|
||||
),
|
||||
|
||||
+9
@@ -1,5 +1,6 @@
|
||||
---
|
||||
source: zellij-utils/src/input/./unit/layout_test.rs
|
||||
assertion_line: 1579
|
||||
expression: "format!(\"{:#?}\", layout)"
|
||||
---
|
||||
Layout {
|
||||
@@ -39,6 +40,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -56,6 +59,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
[],
|
||||
),
|
||||
@@ -96,6 +101,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -113,6 +120,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
[],
|
||||
),
|
||||
|
||||
+9
@@ -1,5 +1,6 @@
|
||||
---
|
||||
source: zellij-utils/src/input/./unit/layout_test.rs
|
||||
assertion_line: 1597
|
||||
expression: "format!(\"{:#?}\", layout)"
|
||||
---
|
||||
Layout {
|
||||
@@ -39,6 +40,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -56,6 +59,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
[],
|
||||
),
|
||||
@@ -96,6 +101,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -113,6 +120,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
[],
|
||||
),
|
||||
|
||||
+9
@@ -1,5 +1,6 @@
|
||||
---
|
||||
source: zellij-utils/src/input/./unit/layout_test.rs
|
||||
assertion_line: 1634
|
||||
expression: "format!(\"{:#?}\", layout)"
|
||||
---
|
||||
Layout {
|
||||
@@ -39,6 +40,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -56,6 +59,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
[],
|
||||
),
|
||||
@@ -96,6 +101,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -113,6 +120,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
[],
|
||||
),
|
||||
|
||||
+9
@@ -1,5 +1,6 @@
|
||||
---
|
||||
source: zellij-utils/src/input/./unit/layout_test.rs
|
||||
assertion_line: 1652
|
||||
expression: "format!(\"{:#?}\", layout)"
|
||||
---
|
||||
Layout {
|
||||
@@ -29,6 +30,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -46,6 +49,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
[],
|
||||
),
|
||||
@@ -76,6 +81,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -93,6 +100,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
[],
|
||||
),
|
||||
|
||||
+9
@@ -1,5 +1,6 @@
|
||||
---
|
||||
source: zellij-utils/src/input/./unit/layout_test.rs
|
||||
assertion_line: 1686
|
||||
expression: "format!(\"{:#?}\", layout)"
|
||||
---
|
||||
Layout {
|
||||
@@ -39,6 +40,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -56,6 +59,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
[],
|
||||
),
|
||||
@@ -96,6 +101,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -113,6 +120,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
[],
|
||||
),
|
||||
|
||||
+9
@@ -1,5 +1,6 @@
|
||||
---
|
||||
source: zellij-utils/src/input/./unit/layout_test.rs
|
||||
assertion_line: 1668
|
||||
expression: "format!(\"{:#?}\", layout)"
|
||||
---
|
||||
Layout {
|
||||
@@ -39,6 +40,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -56,6 +59,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
[],
|
||||
),
|
||||
@@ -96,6 +101,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -113,6 +120,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
[],
|
||||
),
|
||||
|
||||
+9
@@ -1,5 +1,6 @@
|
||||
---
|
||||
source: zellij-utils/src/input/./unit/layout_test.rs
|
||||
assertion_line: 1702
|
||||
expression: "format!(\"{:#?}\", layout)"
|
||||
---
|
||||
Layout {
|
||||
@@ -33,6 +34,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -50,6 +53,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
[],
|
||||
),
|
||||
@@ -84,6 +89,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -101,6 +108,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
[],
|
||||
),
|
||||
|
||||
+9
@@ -1,5 +1,6 @@
|
||||
---
|
||||
source: zellij-utils/src/input/./unit/layout_test.rs
|
||||
assertion_line: 1718
|
||||
expression: "format!(\"{:#?}\", layout)"
|
||||
---
|
||||
Layout {
|
||||
@@ -33,6 +34,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -50,6 +53,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
[],
|
||||
),
|
||||
@@ -84,6 +89,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -101,6 +108,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
[],
|
||||
),
|
||||
|
||||
+9
@@ -1,5 +1,6 @@
|
||||
---
|
||||
source: zellij-utils/src/input/./unit/layout_test.rs
|
||||
assertion_line: 1817
|
||||
expression: "format!(\"{:#?}\", layout)"
|
||||
---
|
||||
Layout {
|
||||
@@ -29,6 +30,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -59,6 +62,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -76,6 +81,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
[],
|
||||
),
|
||||
@@ -98,6 +105,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
[],
|
||||
),
|
||||
|
||||
+9
@@ -1,5 +1,6 @@
|
||||
---
|
||||
source: zellij-utils/src/input/./unit/layout_test.rs
|
||||
assertion_line: 1832
|
||||
expression: "format!(\"{:#?}\", layout)"
|
||||
---
|
||||
Layout {
|
||||
@@ -29,6 +30,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
TiledPaneLayout {
|
||||
children_split_direction: Horizontal,
|
||||
@@ -59,6 +62,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
],
|
||||
split_size: None,
|
||||
@@ -76,6 +81,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
[],
|
||||
),
|
||||
@@ -98,6 +105,8 @@ Layout {
|
||||
run_instructions_to_ignore: [],
|
||||
hide_floating_panes: false,
|
||||
pane_initial_contents: None,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
[],
|
||||
),
|
||||
|
||||
@@ -740,7 +740,7 @@ impl From<crate::input::actions::Action>
|
||||
ResizeAction, RunAction, SaveSessionAction, ScrollDownAction, ScrollDownAtAction,
|
||||
ScrollToBottomAction, ScrollToTopAction, ScrollUpAction, ScrollUpAtAction,
|
||||
SearchAction, SearchInputAction, SearchToggleOptionAction, SetPaneBorderlessAction,
|
||||
ShowFloatingPanesAction, SkipConfirmAction, StackPanesAction,
|
||||
SetPaneColorAction, ShowFloatingPanesAction, SkipConfirmAction, StackPanesAction,
|
||||
StartOrReloadPluginAction, SwitchFocusAction, SwitchModeForAllClientsAction,
|
||||
SwitchSessionAction, SwitchToModeAction, TabNameInputAction, ToggleActiveSyncTabAction,
|
||||
ToggleFloatingPanesAction, ToggleFocusFullscreenAction, ToggleGroupMarkingAction,
|
||||
@@ -1391,6 +1391,13 @@ impl From<crate::input::actions::Action>
|
||||
crate::input::actions::Action::CurrentTabInfo { output_json } => {
|
||||
ActionType::CurrentTabInfo(CurrentTabInfoAction { output_json })
|
||||
},
|
||||
crate::input::actions::Action::SetPaneColor { pane_id, fg, bg } => {
|
||||
ActionType::SetPaneColor(SetPaneColorAction {
|
||||
pane_id: Some(pane_id.into()),
|
||||
fg,
|
||||
bg,
|
||||
})
|
||||
},
|
||||
};
|
||||
|
||||
Self {
|
||||
@@ -2079,6 +2086,16 @@ impl TryFrom<crate::client_server_contract::client_server_contract::Action>
|
||||
ActionType::ToggleGroupMarking(_) => {
|
||||
Ok(crate::input::actions::Action::ToggleGroupMarking)
|
||||
},
|
||||
ActionType::SetPaneColor(set_pane_color_action) => {
|
||||
Ok(crate::input::actions::Action::SetPaneColor {
|
||||
pane_id: set_pane_color_action
|
||||
.pane_id
|
||||
.ok_or_else(|| anyhow!("SetPaneColor missing pane_id"))?
|
||||
.try_into()?,
|
||||
fg: set_pane_color_action.fg,
|
||||
bg: set_pane_color_action.bg,
|
||||
})
|
||||
},
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -3129,6 +3146,8 @@ impl From<crate::input::layout::TiledPaneLayout>
|
||||
is_expanded_in_stack: layout.is_expanded_in_stack,
|
||||
hide_floating_panes: layout.hide_floating_panes,
|
||||
pane_initial_contents: layout.pane_initial_contents,
|
||||
default_fg: layout.default_fg,
|
||||
default_bg: layout.default_bg,
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -3150,6 +3169,8 @@ impl From<crate::input::layout::FloatingPaneLayout>
|
||||
pane_initial_contents: layout.pane_initial_contents,
|
||||
logical_position: layout.logical_position.map(|l| l as u32),
|
||||
borderless: layout.borderless,
|
||||
default_fg: layout.default_fg,
|
||||
default_bg: layout.default_bg,
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -3558,6 +3579,8 @@ impl TryFrom<crate::client_server_contract::client_server_contract::TiledPaneLay
|
||||
run_instructions_to_ignore: vec![], // not represented in protobuf
|
||||
hide_floating_panes: layout.hide_floating_panes,
|
||||
pane_initial_contents: layout.pane_initial_contents,
|
||||
default_fg: layout.default_fg,
|
||||
default_bg: layout.default_bg,
|
||||
})
|
||||
}
|
||||
}
|
||||
@@ -3590,6 +3613,8 @@ impl TryFrom<crate::client_server_contract::client_server_contract::FloatingPane
|
||||
pane_initial_contents: layout.pane_initial_contents,
|
||||
logical_position: layout.logical_position.map(|p| p as usize),
|
||||
borderless: layout.borderless,
|
||||
default_fg: layout.default_fg,
|
||||
default_bg: layout.default_bg,
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1976,6 +1976,8 @@ fn test_client_messages() {
|
||||
already_running: true,
|
||||
pane_initial_contents: Some("pane_initial_contents".to_owned()),
|
||||
logical_position: Some(15),
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
FloatingPaneLayout {
|
||||
name: Some("third floating layout".to_owned()),
|
||||
@@ -2721,6 +2723,26 @@ fn test_client_messages() {
|
||||
client_id: Some(100),
|
||||
is_cli_client: true,
|
||||
});
|
||||
test_client_roundtrip!(ClientToServerMsg::Action {
|
||||
action: Action::SetPaneColor {
|
||||
pane_id: PaneId::Terminal(0),
|
||||
fg: Some("#00e000".to_owned()),
|
||||
bg: Some("#001a3a".to_owned()),
|
||||
},
|
||||
terminal_id: Some(1),
|
||||
client_id: Some(100),
|
||||
is_cli_client: true,
|
||||
});
|
||||
test_client_roundtrip!(ClientToServerMsg::Action {
|
||||
action: Action::SetPaneColor {
|
||||
pane_id: PaneId::Plugin(2),
|
||||
fg: None,
|
||||
bg: None,
|
||||
},
|
||||
terminal_id: Some(1),
|
||||
client_id: Some(100),
|
||||
is_cli_client: true,
|
||||
});
|
||||
test_client_roundtrip!(ClientToServerMsg::Key {
|
||||
key: KeyWithModifier {
|
||||
bare_key: BareKey::PageDown,
|
||||
@@ -3130,3 +3152,41 @@ fn test_server_messages() {
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn set_pane_color_wire_roundtrip() {
|
||||
// Test actual byte-level encode/decode, not just struct conversion
|
||||
use prost::Message;
|
||||
|
||||
let original = ClientToServerMsg::Action {
|
||||
action: Action::SetPaneColor {
|
||||
pane_id: PaneId::Terminal(0),
|
||||
fg: Some("#00e000".to_owned()),
|
||||
bg: Some("#001a3a".to_owned()),
|
||||
},
|
||||
terminal_id: Some(1),
|
||||
client_id: Some(100),
|
||||
is_cli_client: true,
|
||||
};
|
||||
|
||||
// Rust -> proto struct
|
||||
let proto: crate::client_server_contract::client_server_contract::ClientToServerMsg =
|
||||
original.clone().into();
|
||||
|
||||
// proto struct -> bytes (what goes over the wire)
|
||||
let bytes = proto.encode_to_vec();
|
||||
|
||||
// bytes -> proto struct (what the server does)
|
||||
let decoded_proto =
|
||||
crate::client_server_contract::client_server_contract::ClientToServerMsg::decode(
|
||||
&bytes[..],
|
||||
)
|
||||
.expect("Failed to decode protobuf bytes");
|
||||
|
||||
// proto struct -> Rust
|
||||
let roundtrip: ClientToServerMsg = decoded_proto
|
||||
.try_into()
|
||||
.expect("Failed to convert decoded protobuf back to Rust");
|
||||
|
||||
assert_eq!(original, roundtrip);
|
||||
}
|
||||
|
||||
@@ -106,6 +106,8 @@ impl<'a> KdlLayoutParser<'a> {
|
||||
|| property_name == "expanded"
|
||||
|| property_name == "exclude_from_sync"
|
||||
|| property_name == "contents_file"
|
||||
|| property_name == "default_fg"
|
||||
|| property_name == "default_bg"
|
||||
}
|
||||
fn is_a_valid_floating_pane_property(&self, property_name: &str) -> bool {
|
||||
property_name == "borderless"
|
||||
@@ -124,6 +126,8 @@ impl<'a> KdlLayoutParser<'a> {
|
||||
|| property_name == "height"
|
||||
|| property_name == "pinned"
|
||||
|| property_name == "contents_file"
|
||||
|| property_name == "default_fg"
|
||||
|| property_name == "default_bg"
|
||||
}
|
||||
fn is_a_valid_tab_property(&self, property_name: &str) -> bool {
|
||||
property_name == "focus"
|
||||
@@ -563,6 +567,10 @@ impl<'a> KdlLayoutParser<'a> {
|
||||
kdl_node.span().len(),
|
||||
));
|
||||
}
|
||||
let default_fg = kdl_get_string_property_or_child_value_with_error!(kdl_node, "default_fg")
|
||||
.map(|s| s.to_string());
|
||||
let default_bg = kdl_get_string_property_or_child_value_with_error!(kdl_node, "default_bg")
|
||||
.map(|s| s.to_string());
|
||||
self.assert_no_mixed_children_and_properties(kdl_node)?;
|
||||
let pane_initial_contents = contents_file.and_then(|contents_file| {
|
||||
self.file_name
|
||||
@@ -585,6 +593,8 @@ impl<'a> KdlLayoutParser<'a> {
|
||||
children_are_stacked,
|
||||
is_expanded_in_stack,
|
||||
pane_initial_contents,
|
||||
default_fg,
|
||||
default_bg,
|
||||
..Default::default()
|
||||
})
|
||||
}
|
||||
@@ -605,6 +615,10 @@ impl<'a> KdlLayoutParser<'a> {
|
||||
.map(|name| name.to_string());
|
||||
let contents_file =
|
||||
kdl_get_string_property_or_child_value_with_error!(kdl_node, "contents_file");
|
||||
let default_fg = kdl_get_string_property_or_child_value_with_error!(kdl_node, "default_fg")
|
||||
.map(|s| s.to_string());
|
||||
let default_bg = kdl_get_string_property_or_child_value_with_error!(kdl_node, "default_bg")
|
||||
.map(|s| s.to_string());
|
||||
self.assert_no_mixed_children_and_properties(kdl_node)?;
|
||||
let pane_initial_contents = contents_file.and_then(|contents_file| {
|
||||
self.file_name
|
||||
@@ -625,6 +639,8 @@ impl<'a> KdlLayoutParser<'a> {
|
||||
pinned,
|
||||
borderless,
|
||||
pane_initial_contents,
|
||||
default_fg,
|
||||
default_bg,
|
||||
..Default::default()
|
||||
})
|
||||
}
|
||||
|
||||
@@ -5927,6 +5927,8 @@ impl PaneInfo {
|
||||
plugin_url,
|
||||
is_selectable,
|
||||
index_in_pane_group: Default::default(), // we don't serialize this
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
};
|
||||
Ok((tab_position, pane_info))
|
||||
}
|
||||
@@ -6075,6 +6077,8 @@ fn serialize_and_deserialize_session_info_with_data() {
|
||||
plugin_url: None,
|
||||
is_selectable: true,
|
||||
index_in_pane_group: Default::default(), // we don't serialize this
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
PaneInfo {
|
||||
id: 1,
|
||||
@@ -6100,6 +6104,8 @@ fn serialize_and_deserialize_session_info_with_data() {
|
||||
plugin_url: Some("i_am_a_fake_plugin".to_owned()),
|
||||
is_selectable: true,
|
||||
index_in_pane_group: Default::default(), // we don't serialize this
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
];
|
||||
let mut panes = HashMap::new();
|
||||
|
||||
@@ -1836,7 +1836,8 @@ impl TryFrom<Action> for ProtobufAction {
|
||||
| Action::SwitchSession { .. }
|
||||
| Action::SaveSession
|
||||
| Action::ListTabs { .. }
|
||||
| Action::CurrentTabInfo { .. } => Err("Unsupported action"),
|
||||
| Action::CurrentTabInfo { .. }
|
||||
| Action::SetPaneColor { .. } => Err("Unsupported action"),
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -2916,6 +2917,8 @@ impl TryFrom<ProtobufTiledPaneLayout> for TiledPaneLayout {
|
||||
run_instructions_to_ignore,
|
||||
hide_floating_panes: protobuf.hide_floating_panes,
|
||||
pane_initial_contents: protobuf.pane_initial_contents,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
})
|
||||
}
|
||||
}
|
||||
@@ -2972,6 +2975,8 @@ impl TryFrom<ProtobufFloatingPaneLayout> for FloatingPaneLayout {
|
||||
pane_initial_contents: protobuf.pane_initial_contents,
|
||||
logical_position: protobuf.logical_position.map(|p| p as usize),
|
||||
borderless: protobuf.borderless,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
@@ -406,6 +406,8 @@ message PaneInfo {
|
||||
optional string plugin_url = 21;
|
||||
bool is_selectable = 22;
|
||||
repeated IndexInPaneGroup index_in_pane_group = 23;
|
||||
optional string default_fg = 24;
|
||||
optional string default_bg = 25;
|
||||
}
|
||||
|
||||
message IndexInPaneGroup {
|
||||
|
||||
@@ -1560,6 +1560,8 @@ impl TryFrom<ProtobufPaneInfo> for PaneInfo {
|
||||
)
|
||||
})
|
||||
.collect(),
|
||||
default_fg: protobuf_pane_info.default_fg,
|
||||
default_bg: protobuf_pane_info.default_bg,
|
||||
})
|
||||
}
|
||||
}
|
||||
@@ -1603,6 +1605,8 @@ impl TryFrom<PaneInfo> for ProtobufPaneInfo {
|
||||
index: index as u32,
|
||||
})
|
||||
.collect(),
|
||||
default_fg: pane_info.default_fg,
|
||||
default_bg: pane_info.default_bg,
|
||||
})
|
||||
}
|
||||
}
|
||||
@@ -2511,6 +2515,8 @@ fn serialize_session_update_event_with_non_default_values() {
|
||||
plugin_url: None,
|
||||
is_selectable: true,
|
||||
index_in_pane_group: index_in_pane_group_1,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
PaneInfo {
|
||||
id: 1,
|
||||
@@ -2536,6 +2542,8 @@ fn serialize_session_update_event_with_non_default_values() {
|
||||
plugin_url: Some("i_am_a_fake_plugin".to_owned()),
|
||||
is_selectable: true,
|
||||
index_in_pane_group: index_in_pane_group_2,
|
||||
default_fg: None,
|
||||
default_bg: None,
|
||||
},
|
||||
];
|
||||
panes.insert(0, panes_list);
|
||||
|
||||
@@ -198,6 +198,7 @@ enum CommandName {
|
||||
OpenEditPaneInPlaceOfPaneId = 203;
|
||||
HideFloatingPanes = 204;
|
||||
ShowFloatingPanes = 205;
|
||||
SetPaneColor = 206;
|
||||
}
|
||||
|
||||
message PluginCommand {
|
||||
@@ -345,6 +346,7 @@ message PluginCommand {
|
||||
OpenEditPaneInPlaceOfPaneIdPayload open_edit_pane_in_place_of_pane_id_payload = 154;
|
||||
HideFloatingPanesPayload hide_floating_panes_payload = 155;
|
||||
ShowFloatingPanesPayload show_floating_panes_payload = 156;
|
||||
SetPaneColorPayload set_pane_color_payload = 157;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1212,3 +1214,9 @@ message HideFloatingPanesResponse {
|
||||
string error = 2;
|
||||
}
|
||||
}
|
||||
|
||||
message SetPaneColorPayload {
|
||||
PaneId pane_id = 1;
|
||||
optional string fg = 2;
|
||||
optional string bg = 3;
|
||||
}
|
||||
|
||||
@@ -102,7 +102,7 @@ pub use super::generated_api::api::{
|
||||
SaveLayoutPayload, SaveLayoutResponse as ProtobufSaveLayoutResponse, SaveSessionPayload,
|
||||
SaveSessionResponse as ProtobufSaveSessionResponse, ScrollDownInPaneIdPayload,
|
||||
ScrollToBottomInPaneIdPayload, ScrollToTopInPaneIdPayload, ScrollUpInPaneIdPayload,
|
||||
SetFloatingPanePinnedPayload, SetPaneBorderlessPayload,
|
||||
SetFloatingPanePinnedPayload, SetPaneBorderlessPayload, SetPaneColorPayload,
|
||||
SetSelfMouseSelectionSupportPayload, SetTimeoutPayload, ShowCursorPayload,
|
||||
ShowFloatingPanesPayload as ProtobufShowFloatingPanesPayload,
|
||||
ShowFloatingPanesResponse as ProtobufShowFloatingPanesResponse, ShowPaneWithIdPayload,
|
||||
@@ -2423,6 +2423,17 @@ impl TryFrom<ProtobufPluginCommand> for PluginCommand {
|
||||
None => Ok(PluginCommand::ShowFloatingPanes { tab_id: None }),
|
||||
_ => Err("Mismatched payload for ShowFloatingPanes"),
|
||||
},
|
||||
Some(CommandName::SetPaneColor) => match protobuf_plugin_command.payload {
|
||||
Some(Payload::SetPaneColorPayload(payload)) => match payload.pane_id {
|
||||
Some(pane_id) => Ok(PluginCommand::SetPaneColor(
|
||||
pane_id.try_into()?,
|
||||
payload.fg,
|
||||
payload.bg,
|
||||
)),
|
||||
None => Err("Malformed SetPaneColor payload"),
|
||||
},
|
||||
_ => Err("Mismatched payload for SetPaneColor"),
|
||||
},
|
||||
None => Err("Unrecognized plugin command"),
|
||||
}
|
||||
}
|
||||
@@ -3975,6 +3986,14 @@ impl TryFrom<PluginCommand> for ProtobufPluginCommand {
|
||||
},
|
||||
)),
|
||||
}),
|
||||
PluginCommand::SetPaneColor(pane_id, fg, bg) => Ok(ProtobufPluginCommand {
|
||||
name: CommandName::SetPaneColor as i32,
|
||||
payload: Some(Payload::SetPaneColorPayload(SetPaneColorPayload {
|
||||
pane_id: Some(pane_id.try_into()?),
|
||||
fg,
|
||||
bg,
|
||||
})),
|
||||
}),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -36,6 +36,8 @@ pub struct PaneLayoutManifest {
|
||||
pub title: Option<String>,
|
||||
pub is_focused: bool,
|
||||
pub pane_contents: Option<String>,
|
||||
pub default_fg: Option<String>,
|
||||
pub default_bg: Option<String>,
|
||||
}
|
||||
|
||||
pub fn serialize_session_layout(
|
||||
@@ -182,6 +184,16 @@ fn serialize_tiled_pane(
|
||||
);
|
||||
|
||||
serialize_tiled_layout_attributes(&layout, ignore_size, &mut tiled_pane_node);
|
||||
if let Some(ref fg) = layout.default_fg {
|
||||
tiled_pane_node
|
||||
.entries_mut()
|
||||
.push(KdlEntry::new_prop("default_fg", fg.to_owned()));
|
||||
}
|
||||
if let Some(ref bg) = layout.default_bg {
|
||||
tiled_pane_node
|
||||
.entries_mut()
|
||||
.push(KdlEntry::new_prop("default_bg", bg.to_owned()));
|
||||
}
|
||||
let has_child_attributes = !layout.children.is_empty()
|
||||
|| layout.external_children_index.is_some()
|
||||
|| !args.is_empty()
|
||||
@@ -659,6 +671,16 @@ fn serialize_floating_pane(
|
||||
has_children,
|
||||
&mut floating_pane_node,
|
||||
);
|
||||
if let Some(ref fg) = layout.default_fg {
|
||||
floating_pane_node
|
||||
.entries_mut()
|
||||
.push(KdlEntry::new_prop("default_fg", fg.to_owned()));
|
||||
}
|
||||
if let Some(ref bg) = layout.default_bg {
|
||||
floating_pane_node
|
||||
.entries_mut()
|
||||
.push(KdlEntry::new_prop("default_bg", bg.to_owned()));
|
||||
}
|
||||
serialize_start_suspended(&command, &mut floating_pane_node_children);
|
||||
serialize_floating_layout_attributes(&layout, &mut floating_pane_node_children);
|
||||
serialize_args(args, &mut floating_pane_node_children);
|
||||
@@ -709,7 +731,16 @@ fn tiled_pane_layout_from_manifest(
|
||||
manifest: Option<&PaneLayoutManifest>,
|
||||
split_size: Option<SplitSize>,
|
||||
) -> TiledPaneLayout {
|
||||
let (run, borderless, is_expanded_in_stack, name, focus, pane_initial_contents) = manifest
|
||||
let (
|
||||
run,
|
||||
borderless,
|
||||
is_expanded_in_stack,
|
||||
name,
|
||||
focus,
|
||||
pane_initial_contents,
|
||||
default_fg,
|
||||
default_bg,
|
||||
) = manifest
|
||||
.map(|g| {
|
||||
let mut run = g.run.clone();
|
||||
if let Some(cwd) = &g.cwd {
|
||||
@@ -726,9 +757,11 @@ fn tiled_pane_layout_from_manifest(
|
||||
g.title.clone(),
|
||||
Some(g.is_focused),
|
||||
g.pane_contents.clone(),
|
||||
g.default_fg.clone(),
|
||||
g.default_bg.clone(),
|
||||
)
|
||||
})
|
||||
.unwrap_or((None, None, false, None, None, None));
|
||||
.unwrap_or((None, None, false, None, None, None, None, None));
|
||||
TiledPaneLayout {
|
||||
split_size,
|
||||
run,
|
||||
@@ -737,6 +770,8 @@ fn tiled_pane_layout_from_manifest(
|
||||
name,
|
||||
focus,
|
||||
pane_initial_contents,
|
||||
default_fg,
|
||||
default_bg,
|
||||
..Default::default()
|
||||
}
|
||||
}
|
||||
@@ -845,6 +880,8 @@ fn get_floating_panes_layout_from_panegeoms(
|
||||
pane_initial_contents: m.pane_contents.clone(),
|
||||
logical_position: None,
|
||||
borderless: Some(m.is_borderless),
|
||||
default_fg: m.default_fg.clone(),
|
||||
default_bg: m.default_bg.clone(),
|
||||
}
|
||||
})
|
||||
.collect()
|
||||
|
||||
Reference in New Issue
Block a user