DESKTOP.ECLASS
Section: eclass-manpages (5)Updated: Dec 2025
Index Return to Main Contents
NAME
desktop.eclass - support for desktop files, menus, and iconsSUPPORTED EAPIS
7 8FUNCTIONS
- make_desktop_entry [--eapi9] <command> [options]
-
Make a .desktop file and install it in /usr/share/applications/.
--eapi9: Switch to getopts style arguments instead of order based As the naming implies, this is off by default for EAPI=[78], but mandated by future EAPI. command: Exec command the app is being run with, also base for TryExec --- Options: name: Name that will show up in the menu; defaults to PN with --eapi9: must not contain arguments, use --args for that icon: Icon to use with the menu entry; defaults to PN this can be relative (to /usr/share/pixmaps) or a full path to an icon categories: Categories for this kind of application. Examples: https://specifications.freedesktop.org/menu-spec/latest/apa.html if unset, function tries to guess from package's category entry: Key=Value entry to append to the desktop file; with --eapi9: multiple allowed; old style: a printf string --- Additional parameters available using --eapi9: args: Arguments (binary params and desktop spec field codes) to add to Exec value, separated by a space if multiple desktopid: <desktopid>.desktop will be created. Must be same as "app id" defined in code (including reverse qualified domain if set); defaults to <command> comment: Comment (menu entry tooltip), defaults to DESCRIPTIONExample usage:
Deprecated, in order: <command> [name] [icon] [categories] [entries...] New style: --eapi9 <command> [-a args] [-d desktopid] [-C comment] [-i icon] --eapi9 <command> [-n name] [-e entry...] [-c categories]
- make_session_desktop <title> <command> [command args...]
-
Make a GDM/KDM Session file. The title is the file to execute to start the
Window Manager. The command is the name of the Window Manager.
You can set the name of the file via the ${wm} variable.
- domenu <menus>
- Install the list of .desktop menu files into the appropriate directory (/usr/share/applications).
- newmenu <menu> <newname>
- Like all other new* functions, install the specified menu as newname.
- doicon [options] <icons>
-
Install icon into the icon directory /usr/share/icons or into
/usr/share/pixmaps if "--size" is not set.
This is useful in conjunction with creating desktop/menu files.
options: -s, --size !!! must specify to install into /usr/share/icons/... !!! size of the icon, like 48 or 48x48 supported icon sizes are: 16 22 24 32 36 48 64 72 96 128 192 256 512 1024 scalable -c, --context defaults to "apps" -t, --theme defaults to "hicolor" icons: list of icons example 1: doicon foobar.png fuqbar.svg suckbar.png results in: insinto /usr/share/pixmaps doins foobar.png fuqbar.svg suckbar.png example 2: doicon -s 48 foobar.png fuqbar.png blobbar.png results in: insinto /usr/share/icons/hicolor/48x48/apps doins foobar.png fuqbar.png blobbar.png - newicon [options] <icon> <newname>
-
Like doicon, install the specified icon as newname.
example 1: newicon foobar.png NEWNAME.png results in: insinto /usr/share/pixmaps newins foobar.png NEWNAME.png example 2: newicon -s 48 foobar.png NEWNAME.png results in: insinto /usr/share/icons/hicolor/48x48/apps newins foobar.png NEWNAME.png
ECLASS VARIABLES
- _DESKTOP_IDS = ()
- Internal array containing any app-ids used by make_desktop_entry() calls. Lets us keep track of/avoid duplicate desktop file names.
MAINTAINERS
base-system@gentoo.orgREPORTING BUGS
Please report bugs via https://bugs.gentoo.org/FILES
desktop.eclassSEE ALSO
ebuild(5)https://gitweb.gentoo.org/repo/gentoo.git/log/eclass/desktop.eclass
Index
This document was created by man2html, using the manual pages.
Time: 03:27:01 GMT, December 10, 2025