9.6. Menus

Packages shipping applications that comply with minimal requirements described below for integration with desktop environments should register these applications in the desktop menu, following the FreeDesktop standard, using text files called desktop entries. Their format is described in the Desktop Entry Specification at https://standards.freedesktop.org/desktop-entry-spec/latest/ and complementary information can be found in the Desktop Menu Specification at https://standards.freedesktop.org/menu-spec/latest/.

The desktop entry files are installed by the packages in the directory /usr/share/applications and the FreeDesktop menus are refreshed using dpkg triggers. It is therefore not necessary to depend on packages providing FreeDesktop menu systems.

Entries displayed in the FreeDesktop menu should conform to the following minima for relevance and visual integration.

  • Unless hidden by default, the desktop entry must point to a PNG or SVG icon with a transparent background, providing at least the 22×22 size, and preferably up to 64×64. The icon should be neutral enough to integrate well with the default icon themes. It is encouraged to ship the icon in the default hicolor icon theme directories, or to use an existing icon from the hicolor theme.

  • If the menu entry is not useful in the general case as a standalone application, the desktop entry should set the NoDisplay key to true, so that it can be configured to be displayed only by those who need it.

  • In doubt, the package maintainer should coordinate with the maintainers of menu implementations through the debian-desktop mailing list in order to avoid problems with categories or bad interactions with other icons. Especially for packages which are part of installation tasks, the contents of the NotShowIn/OnlyShowIn keys should be validated by the maintainers of the relevant environments.

Since the FreeDesktop menu is a cross-distribution standard, the desktop entries written for Debian should be forwarded upstream, where they will benefit to other users and are more likely to receive extra contributions such as translations.

If a package installs a FreeDesktop desktop entry, it must not also install a Debian menu entry.