Skip to content

Fix missing Linux AppImage and launcher icons - #31

Merged
mrinc merged 1 commit into
masterfrom
fix/linux-appimage-icon
Oct 3, 2026
Merged

mrinc merged 1 commit into
masterfrom
fix/linux-appimage-icon

Conversation

@bcbetterninja

Copy link
Copy Markdown
Collaborator

The Linux AppImage shipped a logo but omitted .DirIcon and an icon-theme entry. The user-level launcher also referenced Icon=BetterMail without installing that icon, leaving launcher/dock icons unresolved.

Include PNG .DirIcon metadata in both AppImage packaging paths and the hicolor icon in release packages. On AppImage startup, install a persistent user icon and bettermail.desktop under XDG_DATA_HOME (or ~/.local/share), pointing to the current AppImage path. Reuse this registration when choosing the default mail app, and match the X11 window class to StartupWMClass. Ordinary startup does not change default mail associations. Registration failures do not prevent startup.

The launcher uses an absolute persistent icon path, supports moved AppImages and escaped filenames, and avoids temporary mount paths. File-manager thumbnails require AppImage support in the host file manager; .DirIcon now supplies the expected metadata (AppDir specification).

Validation:

  • Solution build: zero warnings/errors; all 557 tests passed.
  • New tests cover persistent PNG installation, moved AppImage registration, URI schemes, filename escaping, and invalid paths.
  • Repacked an AppDir with the configured Velopack tool and extracted the resulting AppImage: .DirIcon, root logo, hicolor icon, and desktop metadata verified.
  • Real GLib DesktopAppInfo check resolved the installed icon and launched a synthetic executable whose name contains spaces, dollar/backtick/quote/percent/backslash characters.
  • Bash packaging syntax and git diff whitespace checks passed.

@coderabbitai

coderabbitai Bot commented Oct 2, 2026

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Advanced

Run ID: fba77404-5334-45c9-8926-8d62ea6ceb0c

  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Autopilot is currently an internal CodeRabbit preview.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@mrinc
mrinc merged commit 3eb19cf into master Oct 3, 2026
9 checks passed
@mrinc
mrinc deleted the fix/linux-appimage-icon branch October 3, 2026 07:35
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.

2 participants