Skip to content

fix: ship 32–256 hicolor icons so Linux launchers resolve Aerion - #396

Open
gianlucamazza wants to merge 2 commits into
hkdb:mainfrom
gianlucamazza:fix/linux-hicolor-icon-sizes
Open

fix: ship 32–256 hicolor icons so Linux launchers resolve Aerion#396
gianlucamazza wants to merge 2 commits into
hkdb:mainfrom
gianlucamazza:fix/linux-hicolor-icon-sizes

Conversation

@gianlucamazza

@gianlucamazza gianlucamazza commented Aug 14, 2026

Copy link
Copy Markdown

Fixes #395.

Linux packaging installed a single 16-bit 256×256 PNG. The system hicolor theme marks [256x256/apps] as MinSize=64, so launchers that look up ~48px (Vicinae, and many others with a spec-faithful resolver) skip that directory and show no icon. The .desktop Icon= key was already correct.

This ships 8-bit PNGs at 32/48/64/128/256 (from brand/icon.png) and installs all of them from:

  • build/linux/install.sh (tarball)
  • make install-linux
  • Flatpak manifests (dev + Flathub + source)
  • the release tarball (icons/<size>/ plus the 256 file at the root so AUR aerion-bin stays compatible)

CONTRIBUTING.md says general PRs are not accepted yet. Opening this so the patch sits on #395; feel free to close and cherry-pick.

Validation (Arch Linux)

Isolated XDG_DATA_HOME tree produced by the new install loop, GTK IconTheme forced to hicolor (no JARVIS / user-theme overlay):

Scenario Vanilla (/usr 256-only, 16-bit) Patched (32–256, 8-bit)
Lookup 32 / 48 miss or scaled 256 (MinSize=64) …/32x32/… and …/48x48/…
Lookup 64 / 128 / 256 256 only matching size
Icon= in desktop file io.github.hkdb.Aerion unchanged
aerion still starts ok ok

bash -n on install.sh / uninstall.sh. Flatpak YAML parses.

Review follow-up (ac35ecb)

  • Flatpak was still 256-only after the first commit — same bug for the recommended Linux install.
  • install.sh: helper instead of else if, fail if icons/ exists but a size is missing, cache update uses $HICOLOR_DIR.
  • Makefile ICON_SIZES kept in sync with the scripts.

Only a 16-bit 256×256 PNG was installed. hicolor marks [256x256/apps]
MinSize=64, so launchers that look up ~48px skip it and show no icon
(hkdb#395). Commit 8-bit PNGs at 32/48/64/128/256, install all sizes from
install.sh / make install-linux, and pack them into the release tarball.
Keep the 256 file at the tarball root so AUR aerion-bin stays compatible.

Closes hkdb#395
The first commit left Flatpak installing only the 256 PNG — same
MinSize=64 miss as the tarball. Install all shipped sizes there too.

install.sh now resolves each size via a helper (no else-if), fails
if icons/ is present but incomplete, and refreshes the cache under
$HICOLOR_DIR. Makefile ICON_SIZES is the documented list for make
install-linux / uninstall-linux.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Linux icon missing in launchers: only 256×256 hicolor PNG is shipped

1 participant