Desktop integration
This section discusses how we integrate AppImages into the Linux desktops, what technologies are involved and what customizations and additions we implemented to adapt them to work for AppImages.
Desktop files
A central component of the Linux desktop, so-called desktop entries (or, colloquially, desktop files) are also relevant for AppImage desktop integration. Every AppImage ships with such a file in its AppDir.
The FreeDesktop project maintains the so-called Desktop Entry Specification. Desktop Entry files are INI-style text documents containing key-value pairs, one per line. The file is structured in multiple sections, most notably the [Desktop Entry]
, where the main information goes into. There’s a set of mandatory and optional keys to be set in these documents, and there may be additional sections.
Custom keys introduced for AppImage purposes
Aside from the standardized mandatory and optional keys, there may be additional, proprietary keys. They’re usually prepended with X-
to differentiate between standard and custom keys.
The AppImage project defined a few custom keys with special meaning that provide information to enhance our desktop integration algorithm.
- X-AppImage-Name
Name of the application. Used to relate two AppImages of the same application but different versions.
Examples:
Krita
,Kdenlive
,Ultimaker Cura
- X-AppImage-Version
Version of the application bundled in the AppImage.
Examples:
1.0.0-beta-2
,2019.1.1
- X-AppImage-Arch
Architecture of the AppImage.
Examples:
x86_64
,i386
appimagetool and libappimage currently make use mostly of X-AppImage-Version
.
See also
The following discussions in issue trackers contain some background information: