Slatewave (tmux)

August 4, 2026 · View on GitHub

Slatewave

Slatewave (tmux)

A Slatewave status bar and pane styling for tmux — slate foundation, teal signature. Part of the Slatewave family — one palette across editors, terminals, prompts, notes, and more.

Slate below, teal above.


Layout

One status line, three zones — the session on the left, your window list in the middle, prefix/date/time on the right:

  session   1:editor  2:server    3:logs                              PREFIX    Wed Apr 22   3:04 PM
  • Left: session name in a teal pill
  • Middle: window list — inactive windows muted, the current window lifted into a chrome pill with teal text
  • Right: prefix indicator (rose, only while the prefix key is held) → date → 12-hour clock

Copy mode, the command prompt, pane borders, menus, popups, and the built-in clock all share the same palette.


Requirements

  • tmux ≥ 3.2 (for copy-mode-match-style, popup-style, and modern #{?} formatting)
  • A Nerd Font (or other powerline-capable font) for the / pill transitions. Tested with MesloLGS NF and Hack Nerd Font. Plain powerline fonts work too.
  • A terminal with true-color support (iTerm2, Ghostty, Alacritty, WezTerm, Kitty, …). tmux itself needs Tc or RGB in its terminal-overrides — see Troubleshooting if colors look off.

Installation

Option 1 — source-file in ~/.tmux.conf

git clone https://github.com/kevinlangleyjr/tmux-slatewave.git \
  ~/.config/tmux/slatewave

Then in ~/.tmux.conf:

source-file ~/.config/tmux/slatewave/slatewave.tmux.conf

Reload tmux (tmux source-file ~/.tmux.conf or prefix + r if bound) — the theme applies immediately.

Option 2 — TPM

If you use the tmux plugin manager, add:

set -g @plugin 'kevinlangleyjr/tmux-slatewave'

to ~/.tmux.conf, then prefix + I to fetch and load.

Option 3 — copy into an existing config

slatewave.tmux.conf is a plain set of set -g lines. Copy the whole file, or just the blocks you want, into your existing ~/.tmux.conf. Every section is commented with the palette values it uses, so partial adoption is safe.


Palette

Slatewave shares its palette with the companion themes. tmux has no variable mechanism in config files, so the hex values are inlined throughout slatewave.tmux.conf — but every color maps to a semantic slot:

Backgrounds

HexPaletteUsed by
#0f172a#0f172abg_insettext on teal / rose pills
#1e293b#1e293bbg_elevatedstatus bar bg, messages, menus, popups
#21252b#21252bbg_raisedreserved
#282c34#282c34bg_basereserved
#2c313a#2c313achrome_darkclock pill bg
#3e4451#3e4451chrome_lightactive-window pill bg, date pill bg, inactive pane border

Foregrounds

HexPaletteUsed by
#64748b#64748bfg_faintreserved
#94a3b8#94a3b8fg_mutedinactive window text, display-panes
#cbd5e1#cbd5e1fg_subtlelast-window indicator
#e2e8f0#e2e8f0fg_defaultbar baseline, date text
#f1f5f9#f1f5f9fg_brightreserved

Accent

HexPaletteUsed by
#5eead4#5eead4teal_300session pill, active window, clock, active pane border, selection, clock-mode
#99f6e4#99f6e4teal_200reserved
#0f766e#0f766eteal_600reserved
#0e7490#0e7490teal_700reserved
#ecfeff#ecfeffcyan_fgreserved

State

HexPaletteMeaning
#38bdf8#38bdf8sky_400window activity indicator, copy-mode match
#fb7185#fb7185rose_400prefix-active indicator
#ef5350#ef5350red_brightreserved
#b388ff#b388ffpurplereserved
#fcd34d#fcd34damber_300window bell, copy-mode mark
#f59e0b#f59e0bamber_500warning background (reserved)
#ff4500#ff4500orangereserved
#193549#193549git_inkreserved

What the theme sets

SurfaceStyle
status-style (bar bg)fg_default on bg_elevated
status-left#Sbg_inset on teal_300, bold
window-status-format#I:#W#Ffg_muted on bg_elevated
window-status-current-format#I:#W#Fteal_300 on chrome_light, bold
window-status-bell-styleamber_300 on bg_elevated, bold
window-status-activity-stylesky_400 on bg_elevated
window-status-last-stylefg_subtle on bg_elevated
status-right prefix indicatorPREFIXbg_inset on rose_400, bold (only while prefix held)
status-right date%a %b %-dfg_default on chrome_light
status-right time%-I:%M %pteal_300 on chrome_dark
pane-border-stylechrome_light
pane-active-border-styleteal_300
message-styleteal_300 on bg_elevated
mode-style (copy / selection)bg_inset on teal_300
copy-mode-match-stylebg_inset on sky_400
copy-mode-current-match-stylebg_inset on teal_300, bold
copy-mode-mark-stylebg_inset on amber_300
display-panes-active-colourteal_300
clock-mode-colourteal_300 (12-hour)
menu-selected-stylebg_inset on teal_300, bold
popup-border-stylechrome_light, rounded lines

Customize

The theme file is a plain tmux config — every line is a set -g. Edit slatewave.tmux.conf in place, or copy the blocks you want into your own ~/.tmux.conf after the source-file line so your overrides win.

Common edits:

  • 24-hour clock — change %-I:%M %p to %H:%M in status-right, and set clock-mode-style 24
  • Status bar on topset -g status-position top
  • Show hostname — append @#h (or #H for FQDN) to status-left, or splice it into status-right before the date
  • Drop powerline glyphs (no Nerd Font) — delete the #[fg=#5eead4,bg=#1e293b,nobold] transitions and the / chars; the theme falls back to flat pills
  • Name pane titles — flip pane-border-status off to pane-border-status top (or bottom); pane-border-format is already Slatewave-styled
  • Slower status refresh — bump status-interval 5 (e.g. 15 for less CPU on laptops)
  • Different window numbering — combine with set -g base-index 1 and set -g renumber-windows on in your own config; the theme renders whatever tmux provides

Troubleshooting

Colors look washed out / wrong. Your outer terminal supports truecolor but tmux isn't being told. Add this to ~/.tmux.conf before sourcing the theme:

set -g default-terminal "tmux-256color"
set -as terminal-features ",xterm-256color:RGB"
set -as terminal-features ",alacritty:RGB"
set -as terminal-features ",ghostty:RGB"

Pill arrows render as boxes or question marks. Install a Nerd Font in your terminal and set it as the active font. nerdfonts.com has downloads; the Slatewave sibling themes are all tested with MesloLGS NF.

Status bar reads "can't find format 'client_prefix'" or similar. You're on tmux < 3.2. Upgrade (brew install tmux, apt install tmux, …).


Slatewave family

One palette. Every tool.

See getslatewave.com for the full family.

Contributing

Issues and PRs welcome. For palette or layout changes, include a before/after screenshot of the status bar in three states: idle, prefix held, and with split panes (so the active vs inactive pane border is visible).


License

WTFPL — Do What The Fuck You Want To Public License. See LICENSE.