Project status
This project reads AppImage files and their desktop entries, and gives an AppImage a proper place on a GNOME desktop: a launcher in the application menu, icons in the hicolor theme, MIME associations, a context menu, and a window the owner can drive. It also keeps that integration honest afterwards — an AppImage can be inspected, refreshed, migrated from another tool, audited, and updated.
It started as a replacement for AppImageLauncher, which had been removed from this host.
Where that tool hid what it did, this one is built to be overt: plan prints
every file an install would write, explain prints where each fact came from,
and audit reports what disagrees with what.
Status
Phase 3 is complete. The launchers AppImageLauncher had written are migrated or gone, and an
AppImage can now be updated: update --check asks the update information embedded
in the file what the vendor offers, update takes it, verifies the download, and
keeps the file it replaced. The same action is offered by the window's Update button
and by the launcher's context menu.
The work is published. A GitHub release carries the built tools for Linux, and one script
installs them into ~/.local:
curl -fsSL https://raw.githubusercontent.com/pbannister/gnome-appimage-integration/master/scripts/install.sh | sh
The script checks the download against the release's SHA256SUMS before it
installs anything, and it leaves the *.AppImage handler alone: claiming that is a
deliberate second step, appimage-integrate handler install.
How it works
| Part | What it does |
|---|---|
appimage-inspect |
The container: the type 1 or type 2 layout, the ELF facts, the SquashFS payload, the
embedded desktop entry, the update information, and the .sha256_sig
signature. |
desktop-inspect |
The desktop: which entry wins an identifier, which icon a theme resolves, which application a MIME type opens, and why. |
appimage-integrate |
The integration: plan, install, uninstall,
list, refresh, migrate, update,
windows, audit, and the *.AppImage handler. |
appimage-activator |
The window a launcher, the handler, or the context menu opens: what the file is, what was discovered, what an action did, and the buttons that do it. |
Where the truth lives
The documents record what was verified against the specifications; the records record what each episode found, decided, and left open. The dashboard shows the live state of the host this project runs on, and AppImages lists what it has integrated there.
Nothing is written to the desktop without being asked for: every install can be reversed with
uninstall, which restores whatever launcher it displaced.