| Commit message (Expand) | Author | Age |
| * | A pane renamed but never edited closes on the first Del | Gabriel Schneider | 35 hours |
| * | The tree's README fits its 45 lines again, and fs-discovery-test knows the ne... | 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 |
| | * | | The QUIC listener tests are deterministic, and fs-test --quic passes | Gabriel Schneider | 35 hours |
| | |/ |
|
| * | | The tree's README and fs.md answer round 8's doc questions | Gabriel Schneider | 35 hours |
| * | | Edit's refusals name the pattern, not the line, and say when dot is empty | Gabriel Schneider | 35 hours |
| * | | Restore keeps each pane's dot, as acme's dump does | 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 terminal's body reads as logical lines, the last one ending in a newline | Gabriel Schneider | 35 hours |
| * | | A focus write makes its pane's column the active one, and layout's active is it | Gabriel Schneider | 35 hours |
| * | | A desktop session holds 64 panes, and every route that finds none free says so | Gabriel Schneider | 35 hours |
| * | | A repeat inside a regexp group gives back to what follows the group | Gabriel Schneider | 35 hours |
| * | | Columns are named by stable serials over 9P, as panes are | 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 |
| * | | The tree serves the layout: /layout, /tag and /col/<n>/tag | Gabriel Schneider | 35 hours |
| * | | A dump keeps the settings changed from a fresh session's, and Restore sets them | Gabriel Schneider | 35 hours |
| * | | A GUI-only setting says so on a terminal, and DumpDir reads back its directory | Gabriel Schneider | 35 hours |
| * | | A write to a closed pane's file says it is gone, and a terminal says why it t... | 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 truncating write to tag drops the one newline that ends it | Gabriel Schneider | 35 hours |
| * | | Del and Delcol refuse unsaved text once, as acme's do | Gabriel Schneider | 35 hours |
| * | | Exit and Restore name a modified +New scratch too, in one wording | Gabriel Schneider | 35 hours |
| * | | A failed Dump or a Restore of no dump fails its write, before any warning | Gabriel Schneider | 35 hours |
| * | | A choice setting's refusal names what it takes, and /commands lists them | Gabriel Schneider | 35 hours |
| * | | An answer the question does not offer is refused, and the question stands | Gabriel Schneider | 35 hours |
| * | | A tag that exactly fills its row stays one row, as acme's does | 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 |
| | | * | acme looks like acme; every theme gets acme's button, scroll column and 2px r... | Gabriel Schneider | 35 hours |
| | | * | A multi-row tag shows its grip on the first row only, as acme's button | Gabriel Schneider | 35 hours |
| | | * | Motion flavours, and Lift is shadow, rim or auto: auto on a dark page recedes... | Gabriel Schneider | 35 hours |
| | | * | Lift takes a style: shadow, surface, rim, glow or auto | 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 search pattern with a short \x escape is refused, where mvzr panicked on it | Gabriel Schneider | 35 hours |
| | * | | A column can be empty, as acme's can; new panes go where acme's makenewwindow... | Gabriel Schneider | 35 hours |
| * | | | Kill stops a command pane's whole line again, now it runs with job control | Gabriel Schneider | 35 hours |
| * | | | A Restore logs restored <old> <new> for each pane | Gabriel Schneider | 35 hours |
| * | | | A restored command pane comes back finished, not as a live shell | 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 |
| * | | | Restore brings a Tty bash pane back running bash | Gabriel Schneider | 35 hours |
| * | | | A command pane's background job outlives its command | 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 |