| Commit message (Expand) | Author | Age |
| ... | |
| * | slosh: the scrolled edge fade earns its name | user | 2026-08-20 |
| * | slosh: M10c, the memory -- floats survive being written down | user | 2026-08-20 |
| * | slosh: fold floating panes and the drop grammar into DESIGN.md | user | 2026-08-20 |
| * | slosh: OSC 8 hyperlinks pass through the compositor | user | 2026-08-20 |
| * | slosh: floating panes and the drop grammar | user | 2026-08-20 |
| * | fuzz: libFuzzer harness for all six parser surfaces | user | 2026-08-19 |
| * | parsers: fix seven bugs found by fuzzing | user | 2026-08-19 |
| * | webdemo: the theme symlink is a dependency of the image | user | 2026-08-19 |
| * | slosh: the website lives in web/ -- one directory, one build, make www | user | 2026-08-19 |
| * | slosh: layout files are *.layout, not *.layout.kdl | user | 2026-08-19 |
| * | slosh: the logo flies into place -- a particle engine, statelessly | user | 2026-08-19 |
| * | slosh: the splash colours glyphs, never backgrounds | user | 2026-08-19 |
| * | slosh: the splash learns colour | user | 2026-08-19 |
| * | slosh: greet an attach with the logo, wearing a random shader | user | 2026-08-19 |
| * | slosh: split app.c into five units, mechanically | user | 2026-08-19 |
| * | slosh: defaults most people can live in, said by shaders | user | 2026-08-19 |
| * | slosh: a website that is a page, not a mock session | user | 2026-08-19 |
| * | slosh: the rename is formatting-shaped, walk blame past it | user | 2026-08-18 |
| * | slosh: rename the project from sl0ppty | user | 2026-08-18 |
| * | sl0ppty: aim the top handle at the middle, and stop ruling through the row | user | 2026-08-18 |
| * | sl0ppty: the split arrow belongs on the button | user | 2026-08-18 |
| * | sl0ppty: a horizontal handle gets heavier, not taller | user | 2026-08-18 |
| * | sl0ppty: the middle of a border is the button, not all of it | user | 2026-08-18 |
| * | sl0ppty: the make tools the last commit described | user | 2026-08-17 |
| * | sl0ppty: make tools, and a ruff version that cannot drift | user | 2026-08-17 |
| * | sl0ppty: blame walks past the Python reformat too | user | 2026-08-17 |
| * | sl0ppty: ruff format the Python | user | 2026-08-17 |
| * | sl0ppty: ruff formats the Python, and sorts its imports | user | 2026-08-17 |
| * | sl0ppty: let git blame walk past the reformat | user | 2026-08-17 |
| * | sl0ppty: clang-format the tree | user | 2026-08-17 |
| * | sl0ppty: clang-format, and a hook that runs it on what you staged | user | 2026-08-17 |
| * | sl0ppty: a dead pane says what it ran | user | 2026-08-17 |
| * | sl0ppty: a wrapped line is one line when you copy it | user | 2026-08-17 |
| * | sl0ppty: double-click a word to select it | user | 2026-08-17 |
| * | sl0ppty: `set-name target="pane"`, so a script can overrule a program's title | user | 2026-08-17 |
| * | sl0ppty: a --script pane is told no session rather than somebody else's | user | 2026-08-17 |
| * | sl0ppty: a skill for driving it, and the two variables that made one possible | user | 2026-08-17 |
| * | sl0ppty: workspaces, and layouts that write themselves | user | 2026-08-17 |
| * | sl0ppty: `C-a Enter` splits the longer way | user | 2026-08-16 |
| * | sl0ppty: layouts are `*.layout.kdl`, and each loader says which it got | user | 2026-08-16 |
| * | sl0ppty: docs that match the program | user | 2026-08-16 |
| * | sl0ppty: drag a pane onto a tab | user | 2026-08-16 |
| * | sl0ppty: `C-a >` sends this pane to the next tab | user | 2026-08-16 |
| * | sl0ppty: a pane can change tabs | user | 2026-08-16 |
| * | sl0ppty: the prompt speaks config, not a dialect of it | user | 2026-08-16 |
| * | sl0ppty: `:load` a preset, without a second KDL reader | user | 2026-08-16 |
| * | sl0ppty: six chrome presets that need the new operators | user | 2026-08-16 |
| * | sl0ppty: a race in the reload test, caught at one in eight | user | 2026-08-16 |
| * | sl0ppty: two tests that were sampling, not asking | user | 2026-08-16 |
| * | sl0ppty: PI is 180 | user | 2026-08-16 |