<feed xmlns='http://www.w3.org/2005/Atom'>
<title>slosh.git/docs, 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/docs?h=v0.1.4</id>
<link rel='self' href='https://git.sl0p.foo/slosh.git/atom/docs?h=v0.1.4'/>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/slosh.git/'/>
<updated>2026-09-02T13:17:01Z</updated>
<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>
<entry>
<title>attach tag: just the count, in theme colours</title>
<updated>2026-09-02T13:09:36Z</updated>
<author>
<name>user</name>
<email>user@clank</email>
</author>
<published>2026-09-02T13:09:36Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/slosh.git/commit/?id=cafa48e0a7e1eb48a783bfde6862c5fd82c7aede'/>
<id>urn:sha1:cafa48e0a7e1eb48a783bfde6862c5fd82c7aede</id>
<content type='text'>
The +x+y offset goes -- 'N clients' says the thing that matters. The
inverse-video chip goes with it: the tag now draws in attach_fg /
attach_bg from the theme, defaulting to gray ink on the terminal's
own background. Standing information, not an announcement.
</content>
</entry>
<entry>
<title>multi-attach: say who else is watching, and where you are</title>
<updated>2026-09-02T13:03:53Z</updated>
<author>
<name>user</name>
<email>user@clank</email>
</author>
<published>2026-09-02T13:03:53Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/slosh.git/commit/?id=1a3ba183ae8f2613cae847c8f6460782512acc40'/>
<id>urn:sha1:1a3ba183ae8f2613cae847c8f6460782512acc40</id>
<content type='text'>
A small tag in each client's own top-right corner when several
terminals share the session: the viewer count, and on a view that is
a crop being panned by somebody else's cursor, the crop's offset into
the shared screen ("2 clients +12+4") -- which is exactly the moment
a screen moving on its own needs explaining. Stamped per client after
projection, because every terminal has its own count of others and
its own offset; the shared status bar is composed once and can be
cropped out of a panned view anyway. attach_indicator false hides
it.
</content>
</entry>
<entry>
<title>multi-attach: the config knobs</title>
<updated>2026-09-02T12:57:13Z</updated>
<author>
<name>user</name>
<email>user@clank</email>
</author>
<published>2026-09-02T12:57:13Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/slosh.git/commit/?id=d698946464f25a0eb43730ffad15656f3247f56b'/>
<id>urn:sha1:d698946464f25a0eb43730ffad15656f3247f56b</id>
<content type='text'>
The patch made shared attach unconditional; these make it a policy.
multi_attach false restores the classic displacing attach
(EXIT_REPLACED, which old clients already understand). size_follows
picks whose size the shared screen takes: active (the patch's rule),
smallest (the tmux rule: filler, never a crop), or largest. The size
fold lives in apply_canvas, so any attach, resize or departure can
move the canvas under the folding policies -- including a non-active
client leaving, which under smallest may have been the very client
holding the floor down. A config reload re-applies both knobs to the
running session.
</content>
</entry>
<entry>
<title>Add competitive multiplayer support.</title>
<updated>2026-09-02T12:51:02Z</updated>
<author>
<name>Ingmar Steen</name>
<email>iksteen@gmail.com</email>
</author>
<published>2026-08-31T12:43:32Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/slosh.git/commit/?id=29061a4aca5e3d645c0e23b885342036ac48f97b'/>
<id>urn:sha1:29061a4aca5e3d645c0e23b885342036ac48f97b</id>
<content type='text'>
Last input wins, canvas size is adjusted to active connection.
</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>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>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>
<entry>
<title>docs: chore</title>
<updated>2026-09-02T10:34:31Z</updated>
<author>
<name>Peter Geissler</name>
<email>peter@haxx.in</email>
</author>
<published>2026-09-02T10:34:31Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/slosh.git/commit/?id=5f5f0aaf5ef3f86b6345d26d0abc9dc37f4acbf3'/>
<id>urn:sha1:5f5f0aaf5ef3f86b6345d26d0abc9dc37f4acbf3</id>
<content type='text'>
</content>
</entry>
<entry>
<title>docs: deprecate boring design narrative, more trimming and culling</title>
<updated>2026-09-02T10:32:45Z</updated>
<author>
<name>Peter Geissler</name>
<email>peter@haxx.in</email>
</author>
<published>2026-09-02T10:32:45Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/slosh.git/commit/?id=794e22914666775cab0b1b730a000b2529cec6b5'/>
<id>urn:sha1:794e22914666775cab0b1b730a000b2529cec6b5</id>
<content type='text'>
</content>
</entry>
</feed>
