diff options
| author | Gabriel Schneider <[email protected]> | 2026-09-29 00:40:03 -0300 |
|---|---|---|
| committer | Gabriel Schneider <[email protected]> | 2026-10-01 00:12:15 -0300 |
| commit | 6732ce6edcf1562d3e126ed02f96466ab07c498e (patch) | |
| tree | 77c68f4357b335e67b34f19e248f1ea00240e0eb /src/builtins.zig | |
| parent | fad6bf0cc7cc2cb579d9ad03147a7014906f6b92 (diff) | |
| download | pardes-6732ce6edcf1562d3e126ed02f96466ab07c498e.tar.gz pardes-6732ce6edcf1562d3e126ed02f96466ab07c498e.zip | |
A desktop session holds 64 panes, and every route that finds none free says so
Sixteen panes was far too few for a real session. MAX_PANES is now 64 on a
desktop and stays 16 on the board; the 48 more slots cost about 3.7 KB each
in fixed tables (the core 1.33 to 1.45 MB, its surface 19 to 72 KB), and a
pane itself (84 KB and its terminal) is allocated only when it opens. At the
cap, pane/new fails with `pane/new: no pane slots: 64 max` and an err
record rather than a bare ENFILE, a 9P look or exec that would open a pane
fails its write with the same words and reads back empty, and New, Tty,
Tutor and Alt-n say it on the message row (their ctl writes fail with it).
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Diffstat (limited to 'src/builtins.zig')
| -rw-r--r-- | src/builtins.zig | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/builtins.zig b/src/builtins.zig index 5b1b4dcb..32e3cd84 100644 --- a/src/builtins.zig +++ b/src/builtins.zig @@ -1102,7 +1102,7 @@ pub const Joincol = struct { pub const Tutor = struct { pub const scope: Scope = .session; pub fn run(c: Ctx) void { - const free = c.p.freeSlot() orelse return; + const free = c.p.freeSlot() orelse return c.p.reportError(c.id, "Tutor", error.NoPaneSlots); _ = c.p.openTutorView(free) catch return; exec.placeNew(c.p, c.id, c.id, free, .doc); // a doc like any other } |
