tmux configuration - andreaderuvo/argus GitHub Wiki
Settings β tmux configuration opens ~/.tmux.conf (or ~/.config/tmux/tmux.conf, if
that is the one you have) 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: one tap writes the block below into the file, saves it and applies it to every
session (POST /api/tmux/source, after the check on a throwaway server). Dressing one session is
POST /api/tmux/style.
Above the file itself there is the same row: Argus, Paper, Amber, Slate, the
known palettes (Dracula, Nord, Solarized, Gruvbox, Catppuccin, Tokyo Night,
One Dark, Monokai, RosΓ© Pine, GitHub Light, Matrix), and Plain, which puts tmux back the way it came β by writing a block of set -gu that unsets
what the looks set (the marked block stays in the file, holding those).
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. On the configuration screen (#/tmuxconf, Settings β tmux
configuration β edit it and hand it to every session at once) nothing reaches tmux until you
save and press Apply to every session β the check on a throwaway tmux server
(argus-conf-check) first, so a look cannot take a session down with it; note the file runs
twice, there and then for real, so a line with a side effect does it twice. The browser's own
terminal colours follow at once.
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.