Skip to content

v1.1.7

Choose a tag to compare

@github-actions github-actions released this 18 Sep 02:33
· 8 commits to main since this release

Icons on every module

Six of the fourteen rows drew a label with no icon — Kernel, Terminal, CPU,
GPU Driver and Memory, plus the title line. This release fixes that, and fixes the
reason it was reachable.

What was actually wrong

The icons were never coming from FastFetch Studio. They came from a hand-written config at
%APPDATA%\fastfetch\config.jsonc that typed a private-use glyph into the key of eight
modules and left the other six bare. That file only ever rendered because Studio was not
producing a config of its own:

  • Apply & Generate wrote themes\ and the launcher but never config.jsonc, even
    though the module docstring promised it and the backup step already existed for it.
  • The launcher only passes --config <theme> when themes\ actually contains files, and
    the Random tab's toggles rewrote the launcher without generating those themes.

With no themes and no config.jsonc, fastfetch fell through its search path and drew
whatever else it found — a config with a different module list and only some of the icons.

What changed

  • Icons now come from fastfetch itself. The generated config switches on
    display.key.type, and fastfetch fills in its own per-type keyIcon default. No glyph is
    written into any label, so adding a module can never leave a row icon-less — the
    hand-maintained list is what rotted in the first place. A glyph in a key string is now
    explicitly wrong: with key icons on it renders a second icon beside the default.
  • The three spaces each label carried as a manual indent moved to display.key.paddingLeft,
    and the title label became fastfetch's whitespace "no key" sentinel — it stays a bare
    user @ host, and the stray : it used to print is gone.
  • Apply & Generate now writes config.jsonc, and the Random tab's toggles regenerate
    the config and themes alongside the launcher they rewrite.

Verification

  • All 13 labeled rows now render an icon, on both the launcher's --config path and a
    bare fastfetch — checked against fastfetch 2.64.2.
  • New --smoke-icons guard, wired into both CI jobs. It asserts the config shape always,
    and — where fastfetch is present — that every keyed row actually draws a private-use
    glyph. It fails on the old code, on a glyph sneaking back into a label, and on the
    padding reverting.

Full Changelog: v1.1.6...v1.1.7