-
Notifications
You must be signed in to change notification settings - Fork 0
tmux configuration
Settings → tmux configuration opens ~/.tmux.conf in the ordinary editor, with an
apply to every session button next to Save.
One source-file reaches every session on the server — tmux options belong to the server,
not to the session, so there is nothing to do per session. That is the part that surprises
people.
Sourcing a config runs it: run-shell, if-shell, and anything else it holds. A bad
line can end the tmux server, and the server is holding all your work.
So the file is tried on a throwaway tmux server first — a bare one, started with
-f /dev/null, which then receives the very same source-file. Only a file that survives
that is given to the real one. If it does not survive, you get tmux's own complaint with
the line number, and the running server is untouched.
Two details worth knowing if you script this yourself: starting the test server with
-f <path> does not work as a check, because tmux shows those errors in the client's
window rather than reporting them; and tmux prints file:12: unknown command on stdout,
not stderr.
The quickest way in is the palette on a terminal's title bar, which offers them where you can see what they do — and lets you dress only that session. Style options are session options, so tmux can repaint one and leave every other alone; nothing is written to disk, and it lasts until the tmux server restarts. The same sheet offers dress every session instead, which is the config-file route below.
Above the file itself there is the same row: Argus, Paper, Amber, Slate, and Plain, which puts tmux back the way it came.
Picking one writes a single marked block into the file:
# --- argus theme: do not edit between these two lines ---
set -g status-style "bg=#1a1206 fg=#f5a623"
...
# --- end argus theme ---
Picking another replaces that block rather than adding a second, and everything you wrote yourself is left exactly where it was. Nothing is applied until you save and press Apply to every session, which is the usual path — including the check on a throwaway tmux server first, so a look cannot take a session down with it.
They set colours only: the status line, the pane borders, messages and copy mode. No keys, no options that change how tmux behaves, nothing a running program can notice.
The font is not tmux's to set — it belongs to the terminal, which here is Argus — so a look also dresses the terminal in the browser to match, and the font size stays wherever you put it in Settings.