Help
Troubleshooting
Fixes for empty icon boxes, missing borders, a config that is ignored, and a terminal left in a strange state.
Icons show as empty boxes#
Icons are Nerd Font glyphs, so your terminal's font has to be one. Either:
- install a Nerd Font and set your terminal to use it, or
- turn the icons off:
icons = falseIn VS Code's terminal, set the font in your settings:
{
"terminal.integrated.fontFamily": "JetBrainsMono Nerd Font Mono"
}No border appears#
Borders are pictures, so they need a terminal that speaks the kitty graphics protocol. Run:
animfetch --list-bordersThe first line says whether your terminal shows pictures. The usual reasons for none:
- VS Code's terminal, tmux and GNU screen do not show them. Use kitty,
WezTerm or Ghostty, or opt into
border_render = "cells"for a coarse text version. - The terminal is under 60 columns wide.
- Output is piped, so there is no terminal to draw on.
- The name is wrong. An unknown border name is an error that says so, rather than a silent absence.
See Borders.
The terminal looks wrong after a crash#
--pin sets a scroll region. If a terminal is left in an odd state:
animfetch --unpinor reset.
My config is ignored#
A config with a mistake is not used at all: animfetch runs on the defaults and prints a warning naming the file and line. Look at the first line of output when you start it:
animfetch: ~/.config/animfetch/config.toml:7: unknown field `fpss`
Unknown keys count as mistakes, so a typo is caught rather than ignored. See Configuration.
Opening a new terminal hangs#
Bare animfetch is interactive: it owns the prompt and waits for input. In a
shell startup file use --pin, --play or --once, behind a guard:
[[ $- == *i* ]] && command -v animfetch >/dev/null && animfetch --pinScripts or scp break#
A startup file that prints output breaks non-interactive shells. The guard above
([[ $- == *i* ]]) keeps animfetch out of them.
A row is missing#
Modules the machine cannot answer are skipped, by design:
| Row | Needs |
|---|---|
display | Access to /dev/dri, which a plain SSH session lacks. |
temperature | A hwmon chip that reports the CPU (k10temp, coretemp). |
font | GTK's settings.ini; a machine that keeps it only in dconf shows none. |
battery | A battery. A desktop shows none. |
host | A model name from firmware that is not filler. |
A command row is missing#
A command that prints nothing, or takes longer
than command_timeout (1 second by default), leaves its row out. Test it in
your shell first, and raise the timeout if it is legitimately slow:
command_timeout = 3.0Colours look washed out or wrong#
- Check that your terminal supports truecolor.
NO_COLORin your environment turns colour off.unset NO_COLOR.- Everything grey means
--no-colororgray = truewas saved.animfetch --def-color --saveputs the default colours back. No colour at all, in your terminal's own text colour, meanscolor = false. - With a palette file,
color_source = "palette"can take colours from your wallpaper; usecolor_source = "config"for exactly what you wrote.
macOS#
macOS support is newer than Linux. If something looks off there, please open an issue with your macOS version and terminal.
Still stuck#
Open an issue with the
output of animfetch --version, your terminal, and your config.toml.