Panes and tabs, what else?
One keycombo to split, or just click, because we don't hate the mouse.
- click the middle of a border to split toward it
- drag the gap to move the boundary
- drag a pane by its title
- zoom, tab away, come back: nothing lost!
a modern terminal multiplexer written in C on top of libghostty-vt.
One keycombo to split, or just click, because we don't hate the mouse.
Detach, let the ssh connection die, come back tomorrow: every pane exactly where you left it.
Layouts (re)flow in the way you expect, nothing drifts.
One config file, hot-reloaded. Press C-a e to $EDITOR it in place.
compact true: for those who value their terminal real estate.C-a t lists every theme you can name — yours, and the ones slosh ships — and moving the selection puts it on.
theme_name line written
into your config, every other line untouchedslosh -s main cmd '{"cmd":"theme","name":"amber"}'
does the same from a scriptDim, tint, rulers, spotlights: over a pane's cells or over its
frame, with strengths computed from x, y, the
cursor, the clock.
:load shine, and a shipped preset runs light along the frameOne JSON object per line over the session's socket: the same depth the keyboard gets. An agent can hold the other end.
C-a F drops a throwaway shell on top of whatever you are doing: a monitor, a man page, a quick command.
exit closes it like any shell. the layout never
flinchedA riscv64 Linux with slosh as the thing you land in, booted right here. Nothing is installed, nothing leaves the tab, and the machine is throwaway (reload for a fresh one). Prefer a whole tab?
riscv64 · TinyEMU, compiled to wasm · yours until you reload
Prebuilt static binaries for Linux, macOS and Windows (x86-64 and ARM64) are on the latest release page. The macOS binary is signed and notarized. We also provide some packaged versions of slosh, instructions can be found below.
$ brew tap sl0p-foo/slosh
$ brew install slosh
Builds from source in under a minute; the only dependency is zig, which the formula pulls in.
# enroll the signing key, once
$ curl -fsSLO https://slosh.foo/arch/slosh.asc
$ sudo pacman-key --add slosh.asc
$ sudo pacman-key --lsign-key 0F67C909938CFFA8A76B59FD8D69B55A0E9056B9
# add to /etc/pacman.conf
[slosh]
Server = https://slosh.foo/arch/$arch
$ sudo pacman -Sy slosh
$ sudo pacman -S ghostty-terminfo # optional, x86_64 only: the TERM entry
# system-wide; slosh self-installs it otherwise
Built, signed packages. The fingerprint to check before
the --lsign-key: the same key is
contrib/arch/slosh.asc
in git, so the file fetched from the website can be compared against the
one in the source. The PKGBUILD, for building it yourself, is in
contrib/arch
too; the same instructions at arch/.
$ git clone https://github.com/sl0p-foo/slosh.git && cd slosh
$ make vendor # the vendored terminal core, once
$ make all # about a second
$ sudo make install # or: make install PREFIX=$HOME/.local
Needs zig 0.16 and
nothing else: no cmake, no autotools, no libraries. The result is one
static binary. Bare make prints the target list;
make all is the build, and make install
puts the binary in $PREFIX/bin along with the manpages and
the example configuration. Windows cross-compilation is
make -f Makefile.windows;
the details.
slosh is developed in the open at github.com/sl0p-foo/slosh: issues, patches and pull requests welcome.
For everything that is not an issue yet (a question, an idea, a screenshot of a setup you are proud of) there is the sl0p discord.