From a99edf403dbcebae2ce557e2ba39078ffe876a92 Mon Sep 17 00:00:00 2001 From: Gabriel Schneider Date: Thu, 1 Oct 2026 12:48:17 -0300 Subject: Builtins are written by name: each chapter and the tutor define Look and Exec once and then say Look and Exec; the cheatsheet draws every mouse button as its icon; one-button clicks (Alt is B2, Super is B3) are in the guide and cheatsheet; building says how to send patches to the list Co-Authored-By: Claude Opus 5.5 --- docs/typ/building.typ | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) (limited to 'docs/typ/building.typ') diff --git a/docs/typ/building.typ b/docs/typ/building.typ index cca3161e..ae2f3a60 100644 --- a/docs/typ/building.typ +++ b/docs/typ/building.typ @@ -1,6 +1,7 @@ -// Building pardes, for contributors: platforms, options, tests and the -// release gates, then how the pieces fit: the core and its shells, the -// threads, detached sessions, the 9P engine, the listeners and mounts. +// Building pardes, for contributors: platforms, options, tests, the +// release gates and sending patches, then how the pieces fit: the core +// and its shells, the threads, detached sessions, the 9P engine, the +// listeners and mounts. #import "style.typ": key, keys, btn, chord, word, tag, addr, file, cmd, doc, pairs For contributors: how pardes is built, tested and released, and how its @@ -125,6 +126,14 @@ with `-Dplatform=gui`, `core-test`, `fs-test`, `snap`, the GUI goldens `web`, and the ReleaseSafe tty and ReleaseFast gui builds. The committed `docs/typ/cheatsheet-a4.pdf` is rendered again when the docs change. += Sending patches + +Mail patches to the list `~gbrls/inbox@lists.sr.ht`; it is the preferred way to contribute: + +#cmd("git config format.subjectPrefix \"PATCH pardes\"\ngit send-email --to=~gbrls/inbox@lists.sr.ht HEAD^") + +#link("https://git-send-email.io")[git-send-email.io] sets `git send-email` up. The mirrors (#doc("setup", section: "install")) are for cloning, as a GitHub one will be; pull requests are not the preferred route. + = The core and its shells One core, five shells (tty, gui, web, macos, esp32p4). The core owns @@ -195,7 +204,7 @@ frontend with unsent bytes skips that frame, and one that stops draining past 1 MiB of control backlog is closed, its peers untouched. Frontends never spawn shells, write session files or watch files. #word("Attach") connects first and swaps second: only after the handshake does a shell -give up its own core. Restore builds the replacement core before touching +give up its own core. #word("Restore") builds the replacement core before touching the current one. `src/detached/wire.zig` is the versioned protocol (version 10): fixed-width @@ -239,7 +248,7 @@ use `.cloud9 = .{ .path = "../cloud9" }` while editing both. cloud9's own A mount cuts a big write into pieces of at most one message (msize 65536, less the header), anywhere, and each command line runs once its newline comes; nothing is read into a write's size. A last line with no newline -(`printf Save > exec`) runs when the file is closed, as does an `Edit` +(`printf Save > exec`) runs when the file is closed, as does an #word("Edit") block never ended, and its failure is then only in the log, as its `err` record: the close reports no error, and the write that sent it had already succeeded. So a script that needs a line's result ends it with a -- cgit v1.3