slat

Split your terminal.Keep it running when you leave.

slat tiles one terminal into panes, tabs and workspaces. Your shells live in a small background process, so closing the window, or losing the SSH connection, ends nothing. Run slat again and it's all there.

go install github.com/noturbob/slat/cmd/slat@latest
Install with apt, pacman or dnf

Try it here

This is slat in your browser. Click it, press Ctrl S then v to split, or ? for every key.

Click to try it

The real thing, in 19 seconds

A recorded slat session: a split, htop beside a test run, a search back through the output, then closing slat and finding it all still running.

Close the window. Nothing stops.

The first slat you run starts a background process that owns every shell. The window you type in is only a view onto it.

  1. Start

    Run slat. Split panes, open tabs, start a build or a server.

  2. Leave

    Press the prefix then d, or just close the terminal. Everything keeps running.

  3. Come back

    Run slat from any terminal. Every pane is exactly as you left it, output included.

Small, and careful about the details

No configuration needed, and nothing to learn beyond one prefix key.

Every pane has its own screen

slat emulates a terminal per pane, so clear, vim or htop in one pane never touch their neighbours, and nothing is lost when you split, close or switch tabs.

Scroll back and search

Every pane keeps its recent output. Page back with vim keys or your mouse wheel, and search with / while new output keeps arriving.

Only what changed is sent

Each frame is compared with the last, and only the differing cells reach your terminal. Fast over SSH: half a million lines of output take about a third of a second.

New panes start where you are

A split opens in the directory of the pane you split from, and a typo in your config is reported the moment you start slat.

Install

Packages for Linux and macOS, on both amd64 and arm64.

# Trust the repository's signing key
curl -fsSL https://noturbob.github.io/slat/apt/slat.gpg \
  | sudo tee /usr/share/keyrings/slat.gpg > /dev/null

# Add the repository
repo=https://noturbob.github.io/slat/apt
echo "deb [signed-by=/usr/share/keyrings/slat.gpg] $repo stable main" \
  | sudo tee /etc/apt/sources.list.d/slat.list

# Install
sudo apt update
sudo apt install slat

Add the repository once; after that, apt upgrade keeps slat current.

Keys

Press the prefix, Ctrl S unless you change it, then one key. Everything else goes straight to your shell.

Panes
v hSplit left / right, top / bottom
o ONext / previous pane
arrowsPane in that direction
+ - =Grow, shrink, equalize
z xZoom, close
[Scroll back; / searches
Tabs, workspaces and session
c XNew tab, close tab
n p 1–9Next, previous, go to tab
W w PNew, next, previous workspace
, $Rename tab, workspace
d qDetach, quit
?Show every key

Make it yours

Change anything in ~/.config/slat/config.toml. Keys you don't set keep their defaults, and mistakes are reported when slat starts.

prefix     = "C-a"
shell      = "/bin/zsh"
scrollback = 5000

[keybinds]
split-vertical   = "|"
split-horizontal = "-"
resize-shrink    = "_"  # "-" was taken above