<feed xmlns='http://www.w3.org/2005/Atom'>
<title>slosh.git/contrib, 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/contrib?h=v0.1.4</id>
<link rel='self' href='https://git.sl0p.foo/slosh.git/atom/contrib?h=v0.1.4'/>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/slosh.git/'/>
<updated>2026-09-02T13:38:38Z</updated>
<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>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>themes: pin the attach tag to each palette's muted chrome tone</title>
<updated>2026-09-02T13:11:59Z</updated>
<author>
<name>user</name>
<email>user@clank</email>
</author>
<published>2026-09-02T13:11:59Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/slosh.git/commit/?id=736f259bfc0f01b43b59676e4de31ce33d03ed60'/>
<id>urn:sha1:736f259bfc0f01b43b59676e4de31ce33d03ed60</id>
<content type='text'>
Every shipped theme names attach_fg explicitly, reusing its own
minbar colour -- the default gray suits the dark themes and nothing
else, and paper's light ground proved it.
</content>
</entry>
<entry>
<title>webdemo: version from contrib/version, published by ship</title>
<updated>2026-09-02T12:47:30Z</updated>
<author>
<name>user</name>
<email>user@clank</email>
</author>
<published>2026-09-02T12:47:30Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/slosh.git/commit/?id=3578eefea5b53bce2c1dbbc7f104f3cf85c8aa5b'/>
<id>urn:sha1:3578eefea5b53bce2c1dbbc7f104f3cf85c8aa5b</id>
<content type='text'>
The demo's Makefile said VERSION := 0.1.0 by hand, so the in-browser
slosh announced a release two tags old no matter what was built into
it. It now derives from contrib/version like every other artifact,
suffixed +webdemo so the guest build names itself. And ship gains a
website step: the site (demo included) is rebuilt from the tag
checkout and published as part of a release, so the demo cannot fall
behind again.
</content>
</entry>
<entry>
<title>shaders: remove the .so plugin loader</title>
<updated>2026-09-02T12:43:09Z</updated>
<author>
<name>user</name>
<email>user@clank</email>
</author>
<published>2026-09-02T12:43:09Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/slosh.git/commit/?id=18d1aef0f9bf4620135fd9f77f26683e6f2f8c00'/>
<id>urn:sha1:18d1aef0f9bf4620135fd9f77f26683e6f2f8c00</id>
<content type='text'>
The static musl release builds cannot dlopen -- musl compiles it out
-- so loadable shader plugins were a feature most shipped binaries
could not use. Nothing we ship used it either: every shader in
contrib/shaders is an expression. Gone: the dlopen/glob loader in
shader.c, shader_dir in the config, the plugin ABI table and entry
macro, the Windows dl*/glob shims that existed only for it, the
contrib/shader-plugin skeleton, its tests, and every doc mention.
shader_abi.h stays as the shader model (cell_t, shade_ctx_t,
shader_t) with a note about what it used to be.
</content>
</entry>
<entry>
<title>contrib/ship: the whole release as one resumable command</title>
<updated>2026-09-02T12:15:37Z</updated>
<author>
<name>user</name>
<email>user@clank</email>
</author>
<published>2026-09-02T12:15:37Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/slosh.git/commit/?id=878c50e1cbba07b4545a6cc21c458f30d23543f0'/>
<id>urn:sha1:878c50e1cbba07b4545a6cc21c458f30d23543f0</id>
<content type='text'>
contrib/release cuts the tag and stops -- publishing is on purpose.
ship is that purpose: push, artifacts (linux/windows here, macOS on
the builder), the GitHub release, the brew tap, the arch repo, the
paperwork commit. Each step skips when its result already exists, so
a run that died mid-way resumes instead of rebuilding artifacts whose
checksums are already published. Preflight checks every credential
and machine before anything is cut, because half-published is the
failure mode this exists to remove (v0.1.2 shipped while the arch
repo still served v0.1.1).
</content>
</entry>
<entry>
<title>public links: point at github.com/sl0p-foo/slosh instead of cgit</title>
<updated>2026-09-02T12:07:37Z</updated>
<author>
<name>user</name>
<email>user@clank</email>
</author>
<published>2026-09-02T12:07:37Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/slosh.git/commit/?id=597135f7851e83e31d99fc9c97fbb087c3df4fce'/>
<id>urn:sha1:597135f7851e83e31d99fc9c97fbb087c3df4fce</id>
<content type='text'>
GitHub is the public interaction point now. The formula and PKGBUILD
fetch GitHub's /archive/ tarballs (same git-archive bytes, per-ref
stable); the PKGBUILD is bumped to 0.1.2 while at it, and its cd's
drop the v -- GitHub tag archives extract to slosh-X.Y.Z/. The cgit
remote stays for pushing; only published URLs change.
</content>
</entry>
<entry>
<title>brew: pin formula to v0.1.2</title>
<updated>2026-09-02T11:01:07Z</updated>
<author>
<name>user</name>
<email>user@clank</email>
</author>
<published>2026-09-02T11:01:07Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/slosh.git/commit/?id=c0b70ed7fff064d0dda9d0f5936b5cda3569353d'/>
<id>urn:sha1:c0b70ed7fff064d0dda9d0f5936b5cda3569353d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>point homebrew tap at github.com/sl0p-foo/homebrew-slosh</title>
<updated>2026-09-02T10:59:01Z</updated>
<author>
<name>user</name>
<email>user@clank</email>
</author>
<published>2026-09-02T10:59:01Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/slosh.git/commit/?id=0a8583f586dc03cdba8c7fe4c3e4130314a1ddc9'/>
<id>urn:sha1:0a8583f586dc03cdba8c7fe4c3e4130314a1ddc9</id>
<content type='text'>
brew auto-resolves GitHub taps, so the explicit URL is no longer
needed: 'brew tap sl0p-foo/slosh' is all users type.
</content>
</entry>
</feed>
