Name

xdg-desktop-icon — command line tool for (un)installing icons to the desktop

Synopsis

xdg-desktop-icon install [--vendor vendor-id] FILE

xdg-desktop-icon uninstall [--vendor vendor-id] FILE

xdg-desktop-icon { --help | --manual | --version }

Description

The xdg-desktop-icon program can be used to install an application launcher or other file on the desktop of the current user.

An application launcher is represented by a *.desktop file. Desktop files are defined by the freedesktop.org Desktop Entry Specification. The most important aspects of *.desktop files are summarized below.

Commands

install
Installs FILE to the desktop of the current user. FILE can be a *.desktop file or any other type of file.
uninstall
Removes FILE from the desktop of the current user.

Options

--vendor vendor-id
Adds vendor-id as a prefix when installing desktop files.
--help
Show command synopsis.
--manual
Show this manualpage.
--version
Show the xdg-utils version information.

Desktop Files

An application launcher can be added to the desktop by installing a *.desktop file. A *.desktop file consists of a [Desktop Entry] header followed by several Key=Value lines.

A *.desktop file can provide a name and description for an application in several different languages. This is done by adding a language code as used by LC_MESSAGES in square brackets behind the Key. This way one can specify different values for the same Key depending on the currently selected language.

The following keys are often used:

Value=1.0
This is a mandatory field to indicate that the *.desktop file follows the 1.0 version of the specification.
Type=Application
This is a mandatory field that indicates that the *.desktop file describes an application launcher.
Name=Application Name
The name of the application. For example Mozilla
GenericName=Generic Name
A generic description of the application. For example Web Browser
Comment=Comment
Optional field to specify a tooltip for the application. For example Visit websites on the Internet
Icon=Icon File
The icon to use for the application. This can either be an absolute path to an image file or an icon-name. If an icon-name is provided an image lookup by name is done in the user's current icon theme. The xdg-icon-resource command can be used to install image files into icon themes. The advantage of using an icon-name instead of an absolute path is that with an icon-name the application icon can be provided in several different sizes as well as in several differently themed styles.
Exec=Command Line
The command line to start the application. If the application can open files the %f placeholder should be specified. When a file is dropped on the application launcher the %f is replaced with the file path of the dropped file. If multiple files can be specified on the command line the %F placeholder should be used instead of %f. If the application is able to open URLs in addition to local files then %u or %U can be used instead of %f or %F.

For a complete oveview of the *.desktop file format please visit http://www.freedesktop.org/wiki/Standards/desktop-entry-spec

Exit Codes

An exit code of 0 indicates success while a non-zero exit code indicates failure. The following failure codes can be returned:

1
Error in command line syntax.
2
One of the files passed on the command line did not exist.
3
A required tool could not be found.
4
The action failed.

See Also

xdg-icon-resource(1)

Examples

The company ShinyThings Inc. has developed an application named "WebMirror" and would like to add a launcher for for on the desktop. The company will use "shinythings" as its vendor id. In order to add the application to the desktop there needs to be a .desktop file for the application:

webmirror.desktop:

  [Desktop Entry]
  Encoding=UTF-8
  Type=Application

  Exec=webmirror
  Icon=webmirror

  Name=WebMirror
  Name[nl]=WebSpiegel

Now the xdg-desktop-icon tool can be used to add the webmirror.desktop file to the desktop:

xdg-desktop-icon install --vendor shinythings ./webmirror.desktop

To add a README file to the desktop as well, the following command can be used:

xdg-desktop-icon install ./shinythings-README