From d0ba070a87c54c538e5f788485391b0af927d0fb Mon Sep 17 00:00:00 2001 From: Gabriel Schneider Date: Mon, 6 Jul 2026 20:36:38 -0300 Subject: boot with a single shell pane (was three). Options.shells (default 1; >=3 gives the classic two-column boot), -n CLI flag. The 26 legacy snap scripts pin -n 3 on their start line so their coordinates and goldens stay valid; boot.snap tests the new default (golden regenerated: one full-width pane). 28/28 green. --- src/pardes.zig | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) (limited to 'src/pardes.zig') diff --git a/src/pardes.zig b/src/pardes.zig index 7fe4d95f..9842362f 100644 --- a/src/pardes.zig +++ b/src/pardes.zig @@ -601,6 +601,8 @@ const Rect = struct { x: u16, y: u16, w: u16, h: u16 }; pub const Options = struct { tty_only: bool = false, + /// initial shell panes: 1 (default) or 3 for the classic two-column boot + shells: u8 = 1, tty_toggle: u21 = 'b', /// load a dump of another instance instead of spawning shells (acme -l) load_path: ?[]const u8 = null, @@ -676,8 +678,8 @@ pub const Pardes = struct { p.ncol = 1; p.col_n[0] = 1; p.col_terms[0][0] = 0; - } else { - // editor default: two columns, the left one split in two. + } else if (opts.shells >= 3) { + // classic layout: two columns, the left one split in two. _ = try p.newPane(0); _ = try p.newPane(1); _ = try p.newPane(2); @@ -688,6 +690,13 @@ pub const Pardes = struct { p.col_terms[0][1] = 1; p.col_n[1] = 1; p.col_terms[1][0] = 2; + } else { + // ponytail: 1 and 3 are the only boot layouts; anything else acts as 1 + _ = try p.newPane(0); + p.panes[0].?.greet = true; + p.ncol = 1; + p.col_n[0] = 1; + p.col_terms[0][0] = 0; } p.sync(); return p; -- cgit v1.3