| Commit message (Expand) | Author | Age |
| * | New from a column's exec makes its scratch in the session's directory, as tag... | Gabriel Schneider | 35 hours |
| * | A builtin's Verbose announcement is logged only when it succeeds | Gabriel Schneider | 35 hours |
| * | A terminal keeps its tag and two body rows through drags, squeezes and a smal... | Gabriel Schneider | 35 hours |
| * | A pane from pane/new is the session's directory's scratch, not the last activ... | Gabriel Schneider | 35 hours |
| * | A pty/ctl winsize gives a terminal two rows at least, so it no longer reads b... | Gabriel Schneider | 35 hours |
| * | get and a deleted file say what happened: the path, changed <serial> deleted,... | Gabriel Schneider | 35 hours |
| * | The boot scratch is <cwd>/+New, not /+New | Gabriel Schneider | 35 hours |
| * | A prompt a 9P request opens is an ask, answered with answer, never stacked | Gabriel Schneider | 35 hours |
| * | Tty takes a directory as long as a path may be | Gabriel Schneider | 35 hours |
| * | Newcol at the column cap says so, and a desktop session holds 16 columns | Gabriel Schneider | 35 hours |
| * | A Save that fails logs its err, not a save record | Gabriel Schneider | 35 hours |
| * | Refusals and records say more: get quotes its line, a bare answer lists the c... | Gabriel Schneider | 35 hours |
| * | A multi-line paste into Python's REPL runs whole, back at its prompt | Gabriel Schneider | 35 hours |
| * | pty/run's busy names the program holding the terminal | Gabriel Schneider | 35 hours |
| * | size says its limits, keeps every pane its rows, and ptys follow their panes | Gabriel Schneider | 35 hours |
| * | Tty and Shell refuse a directory: not a shell | Gabriel Schneider | 35 hours |
| * | A REPL paste's Enter waits on the clock, not on stale core time | Gabriel Schneider | 35 hours |
| * | dump.zig's tests run: nothing had included them | Gabriel Schneider | 35 hours |
| * | Words from the workspace and column tags run in the session's directory | Gabriel Schneider | 35 hours |
| * | No placement leaves a pane shorter than its tag and two rows | Gabriel Schneider | 35 hours |
| * | The default Shell is $SHELL, else /bin/sh | Gabriel Schneider | 35 hours |
| * | A read on a closed pane's event ends ENOENT, and the pane cap is ENOSPC | Gabriel Schneider | 35 hours |
| * | A pane closed with its question standing logs answer <serial> - | Gabriel Schneider | 35 hours |
| * | A command line cut across writes runs once whole, and look/exec answer per open | Gabriel Schneider | 35 hours |
| * | Every answer to a pane's question is logged, answer - included | Gabriel Schneider | 35 hours |
| *-. | Merge: 9P rounds 7-8 + layout files + loose ends + G3 cursor | Gabriel Schneider | 35 hours |
| |\ \ |
|
| | | * | G3: the focused cursor glides a jump on the Motion flavour's springs, and blinks | Gabriel Schneider | 35 hours |
| | |/ |
|
| * | | A column has a ctl, an exec and an rmdir over 9P, and Restore maps its serial | Gabriel Schneider | 35 hours |
| * | | A desktop session holds 64 panes, and every route that finds none free says so | Gabriel Schneider | 35 hours |
| * | | A pane's last row of text is no resize handle; the grip is, and the GUI's rule | Gabriel Schneider | 35 hours |
| * | | A send to Python's REPL runs once, the Enter after the paste, not in it | Gabriel Schneider | 35 hours |
| * | | A failed Dump or a Restore of no dump fails its write, before any warning | Gabriel Schneider | 35 hours |
| * | | An answer the question does not offer is refused, and the question stands | Gabriel Schneider | 35 hours |
| |/ |
|
| *-. | Merge: 9P round 6 + empty columns + render (acme theme, grips, Lift, Motion) | Gabriel Schneider | 35 hours |
| |\ \ |
|
| | | * | Motion flavours differ by design, and drive notice drops and pane moves | Gabriel Schneider | 35 hours |
| | | * | Lift moves at the display's rate: render-time animation | Gabriel Schneider | 35 hours |
| | | * | G1: Lift, soft elevation shadows (off by default) | Gabriel Schneider | 35 hours |
| | * | | A pane whose whole text fits in its rows never scrolls to keep a margin | Gabriel Schneider | 35 hours |
| | * | | A document dragged beside the boot shell leaves it; BootShell replace closes ... | Gabriel Schneider | 35 hours |
| | * | | An empty column shows its theme's empty_col: white in the acme theme, as acme... | Gabriel Schneider | 35 hours |
| | * | | A column can be empty, as acme's can; new panes go where acme's makenewwindow... | Gabriel Schneider | 35 hours |
| * | | | A pane's question is logged as ask, and answer on its ctl answers it | Gabriel Schneider | 35 hours |
| * | | | A Python block sent to a REPL gets the second Enter that ends it | Gabriel Schneider | 35 hours |
| * | | | A shell that exits under a run answers exit N, and the log says exit before del | Gabriel Schneider | 35 hours |
| * | | | pty/status reads the pty's size as winsize set it, on a line of its own | Gabriel Schneider | 35 hours |
| * | | | A pane tag wraps onto rows and can collapse to one, as acme's does | Gabriel Schneider | 35 hours |
| * | | | A look with a blank in its pattern addresses, file:N selects the line, and a ... | Gabriel Schneider | 35 hours |
| * | | | A key between two clicks makes them two clicks, not a double-click | Gabriel Schneider | 35 hours |
| * | | | A tag no longer marks an unsaved file with *: the grip shows it | Gabriel Schneider | 35 hours |
| * | | | A B1 sweep held past a pane's edge scrolls the body, as acme's frselect does | Gabriel Schneider | 35 hours |