<feed xmlns='http://www.w3.org/2005/Atom'>
<title>slosh.git, branch v0.1.4</title>
<subtitle>an opinionated terminal multiplexer in C with programmable pane chrome</subtitle>
<id>https://git.sl0p.foo/slosh.git/atom/?h=v0.1.4</id>
<link rel='self' href='https://git.sl0p.foo/slosh.git/atom/?h=v0.1.4'/>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/slosh.git/'/>
<updated>2026-09-02T13:47:10Z</updated>
<entry>
<title>release: v0.1.4</title>
<updated>2026-09-02T13:47:10Z</updated>
<author>
<name>user</name>
<email>user@clank</email>
</author>
<published>2026-09-02T13:47:10Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/slosh.git/commit/?id=975a8933685a058147a2fc2546ecddc74a6f2d91'/>
<id>urn:sha1:975a8933685a058147a2fc2546ecddc74a6f2d91</id>
<content type='text'>
</content>
</entry>
<entry>
<title>vendor: libghostty-vt bedb6f2 -&gt; 3c1ef5b3 (2026-09-01)</title>
<updated>2026-09-02T13:45:32Z</updated>
<author>
<name>user</name>
<email>user@clank</email>
</author>
<published>2026-09-02T13:45:32Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/slosh.git/commit/?id=311979f10132697b990a670c6c99b19c1c33d623'/>
<id>urn:sha1:311979f10132697b990a670c6c99b19c1c33d623</id>
<content type='text'>
Three weeks of upstream: 504 commits, 120 touching the terminal core
-- OSC 5522, kitty relative placements, C0 fixes, the wuffs pixel
path. Rebuilt from ghostty's own dist step (zig build dist
-Demit-lib-vt=true), zig floor unchanged at 0.16.0, and slosh's C
usage compiled unmodified.

Patch 0001 is re-implemented, not retired: upstream rewrote the area
into ImageStorage.clearScreen but kept the behaviour we patch out --
a terminal clear still reclaims transmitted-but-unplaced images,
which breaks the upload-once place-per-frame pattern the protocol's
two verbs exist for. The patch now removes just that sweep; the
placement clearing and orphan reaping stay upstream's. Their recent
'preserve data on unmatched delete' fixes the same class of bug, so
sending ours upstream remains the way to actually retire it.
</content>
</entry>
<entry>
<title>contrib/vendor-check: watching upstream is one command now</title>
<updated>2026-09-02T13:38:38Z</updated>
<author>
<name>user</name>
<email>user@clank</email>
</author>
<published>2026-09-02T13:38:38Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/slosh.git/commit/?id=8c1553801a9812bf4e8541872eb720470ce89a0b'/>
<id>urn:sha1:8c1553801a9812bf4e8541872eb720470ce89a0b</id>
<content type='text'>
Vendoring by pinned commit stays (D12) -- the package channels build
from source archives where submodules are empty, the arch build is
offline-clean because the core is in the tarball, and upstream has no
stable release channel to depend on anyway. What was missing is the
watching: vendor-check reads the pin from vendor.json, asks the
GitHub API what happened since, and lists the commits touching the
terminal core. First run found 120 relevant commits in three weeks,
including upstream fixing the same class of kitty-graphics bug our
patch 0001 fixes -- which is the argument for finally sending it.
</content>
</entry>
<entry>
<title>arch-repo: find zig on PATH itself; release: v0.1.3 paperwork</title>
<updated>2026-09-02T13:26:52Z</updated>
<author>
<name>user</name>
<email>user@clank</email>
</author>
<published>2026-09-02T13:26:52Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/slosh.git/commit/?id=5dfb761d3060bff5be8623272fdaf0eeb27706ca'/>
<id>urn:sha1:5dfb761d3060bff5be8623272fdaf0eeb27706ca</id>
<content type='text'>
ship calls arch-repo without the ZIG= prefix the by-hand runs had,
so the leg died on makepkg's dependency check mid-release. arch-repo
now derives ZIG from PATH when pacman has no zig, and exports it.
The formula and PKGBUILD pins ride along: ship's steps 6 and 7 had
already written them when the leg failed, and its preflight rightly
refuses a dirty tree.
</content>
</entry>
<entry>
<title>release: v0.1.3</title>
<updated>2026-09-02T13:23:48Z</updated>
<author>
<name>user</name>
<email>user@clank</email>
</author>
<published>2026-09-02T13:23:48Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/slosh.git/commit/?id=e0e54c44ed59ccab41e2dfb0df40c87f0611011f'/>
<id>urn:sha1:e0e54c44ed59ccab41e2dfb0df40c87f0611011f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>web: the released version in the hero, linking to the release</title>
<updated>2026-09-02T13:21:52Z</updated>
<author>
<name>user</name>
<email>user@clank</email>
</author>
<published>2026-09-02T13:21:52Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/slosh.git/commit/?id=670add69317750ebc62f92662ea55d2e42439334'/>
<id>urn:sha1:670add69317750ebc62f92662ea55d2e42439334</id>
<content type='text'>
Stamped by build-site from ./VERSION, which the release invariant
keeps equal to the newest tag -- so the page cannot advertise a
version that was never cut, and nothing is bumped by hand.
</content>
</entry>
<entry>
<title>web: contributing section, shorter</title>
<updated>2026-09-02T13:20:50Z</updated>
<author>
<name>user</name>
<email>user@clank</email>
</author>
<published>2026-09-02T13:20:50Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/slosh.git/commit/?id=aea3e11f4cfa233db008076365e08a401c0e02a1'/>
<id>urn:sha1:aea3e11f4cfa233db008076365e08a401c0e02a1</id>
<content type='text'>
</content>
</entry>
<entry>
<title>web: a contributing section -- the github and the discord</title>
<updated>2026-09-02T13:19:28Z</updated>
<author>
<name>user</name>
<email>user@clank</email>
</author>
<published>2026-09-02T13:19:28Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/slosh.git/commit/?id=578f2fe4901fbb82ea93fe2125598327dfc9bb14'/>
<id>urn:sha1:578f2fe4901fbb82ea93fe2125598327dfc9bb14</id>
<content type='text'>
The multiplayer patch proved the repo takes patches; say so where
people can see it, and give the not-yet-an-issue conversations
somewhere to happen.
</content>
</entry>
<entry>
<title>gen-docs: the page title separator is a middle dot</title>
<updated>2026-09-02T13:17:19Z</updated>
<author>
<name>user</name>
<email>user@clank</email>
</author>
<published>2026-09-02T13:17:19Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/slosh.git/commit/?id=e468637d7d01a3a3bcfff24b0ce641e1fa8997df'/>
<id>urn:sha1:e468637d7d01a3a3bcfff24b0ce641e1fa8997df</id>
<content type='text'>
</content>
</entry>
<entry>
<title>docs: sweep the em dashes</title>
<updated>2026-09-02T13:17:01Z</updated>
<author>
<name>user</name>
<email>user@clank</email>
</author>
<published>2026-09-02T13:17:01Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/slosh.git/commit/?id=bce260f8f2b63c4e99d416ba483ff7d14b4bb1de'/>
<id>urn:sha1:bce260f8f2b63c4e99d416ba483ff7d14b4bb1de</id>
<content type='text'>
Parentheses for the asides, colons for the explanations, commas and
semicolons for the joins, (none) for the empty table cells. Same
treatment the landing page got, across README, docs/, and both
manpages (\(em included).
</content>
</entry>
</feed>
