Steam Icon Fixer
Use this skill to repair Steam launcher icons on Linux desktops.
Core workflow
- Prefer the user's explicit inputs when available.
- downloaded image path
- game name
- Steam app ID
- specific
.desktopfile
- Otherwise infer the common local locations.
- launcher dir:
${XDG_DATA_HOME:-~/.local/share}/applications - icon dir:
${XDG_DATA_HOME:-~/.local/share}/icons/hicolor
- launcher dir:
- Discover the app ID from the launcher metadata.
- look for
Icon=steam_icon_<id> - look for
Exec=...steam://rungameid/<id> - if needed, search local launchers by game name
- look for
- Run the bundled installer script.
- Refresh the icon cache if the script does not do it automatically.
Commands
Scan local Steam launchers for missing icons:
python3 scripts/steam_icon_fixer.py scan
Install an image with an explicit app ID:
python3 scripts/steam_icon_fixer.py install \
--image /path/to/image.png \
--app-id 1086940
Install an image by matching a game name:
python3 scripts/steam_icon_fixer.py install \
--image /path/to/image.png \
--game "Baldur's Gate 3"
Install using a specific desktop file:
python3 scripts/steam_icon_fixer.py install \
--image /path/to/image.png \
--desktop-file ~/.local/share/applications/Baldur's\ Gate\ 3.desktop
Use explicit directories when the machine is nonstandard:
python3 scripts/steam_icon_fixer.py install \
--image /path/to/image.png \
--game "DOOM: The Dark Ages" \
--desktop-dir /custom/applications \
--icons-dir /custom/icons/hicolor
Bundled resources
scripts/steam_icon_fixer.py: deterministic installer/scanner for Steam launcher icons.references/: add launcher or icon-theme notes here if the workflow needs machine-specific guidance.
Notes
- The script should generate standard icon sizes and keep Steam's
steam_icon_<appid>.pngnaming. - For
.icoinputs, Pillow may be required. - If GNOME or another dock keeps the old icon, unpin and re-pin the launcher after the cache refresh.