Skip to content
animfetch
Menu

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:
toml
icons = false

In VS Code's terminal, set the font in your settings:

json
{
  "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:

sh
animfetch --list-borders

The 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:

sh
animfetch --unpin

or 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:

sh
[[ $- == *i* ]] && command -v animfetch >/dev/null && animfetch --pin

Scripts 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:

RowNeeds
displayAccess to /dev/dri, which a plain SSH session lacks.
temperatureA hwmon chip that reports the CPU (k10temp, coretemp).
fontGTK's settings.ini; a machine that keeps it only in dconf shows none.
batteryA battery. A desktop shows none.
hostA 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:

toml
command_timeout = 3.0

Colours look washed out or wrong#

  • Check that your terminal supports truecolor.
  • NO_COLOR in your environment turns colour off. unset NO_COLOR.
  • Everything grey means --no-color or gray = true was saved. animfetch --def-color --save puts the default colours back. No colour at all, in your terminal's own text colour, means color = false.
  • With a palette file, color_source = "palette" can take colours from your wallpaper; use color_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.