Where Is the st Config File?
st has no settings file: fonts, colors and shortcuts compile in from config.h in the source tree.
Last updated
st treats configuration as source code. Everything (font, colors, scrollback behavior, shortcuts) is a C variable in config.h, baked in at compile time. Upstream ships only config.def.h with sane defaults; your copy is the config.
Back up config.h, not the binary. A fresh checkout plus your header plus make reproduces the exact terminal anywhere, patches included.
Where st stores this, by platform
[SourceDir]/config.h
Font, colors, shortcuts and behavior as C defines. Created by copying config.def.h. Recompile and restart after every change; nothing reads at runtime.
Frequently asked questions
How do I change the font or colors in st?
Edit config.h and run make clean install. There is no reload mechanism; the running binary keeps the old build until you restart the terminal.
How do I apply a suckless patch to my customized st?
Copy config.def.h to config.h, then apply the patch and recompile. Patches target the template, so keep your config.h backed up before rebasing onto a new release.
Notice an outdated path? Let us know.