Difference between revisions of "Development/Tutorials/Desktop File"

Jump to: navigation, search
(The session management tutorial is not really a prerequisite for this article; remove the link)
Line 1: Line 1:
{{Template:I18n/Language Navigation Bar|Development/Tutorials/Desktop File}}

Revision as of 17:00, 19 July 2012

Desktop File
Tutorial Series   Basics
What's Next  
Further Reading   the .desktop Free Desktop Spec;

Desktop File

In order for your application to show up in menus and/or to be automatically associated with mime types in file browsers, you need to provide a .desktop file like follows:

[Desktop Entry]
Exec=your-app %u
Name=Your App
GenericName=Some Generic Name
Comment=Short Description Of Your App

Take a look at the .desktop Free Desktop Spec to find our more about the key/value pairs above. It's important to pick a good set of Categories, see the spec for a list of valid values.

Your project

You want your project to show up in the K Menu like this:


In this example, the application is called quickpen and it shows up in the category "Graphics". To accomplish that in your project you need to take care the .desktop file is distributed to the appropriate place.

qmake based projects

In case you are working on a qmake based project, add the following to your .pro file:

target.path = /usr/local/bin
desktop.path = /usr/share/applications
desktop.files += your-app.desktop
INSTALLS += target desktop

Note that the bold strings above should be in your project anyway.

An example .pro file can be found here. The related .desktop file can be found here.

cmake based projects

In case you are working on a cmake based project, add an install directive to your CMakeLists.txt file like this:

install( PROGRAMS your-app.desktop DESTINATION ${XDG_APPS_INSTALL_DIR} )

An example CMakeLists.txt file can be found here. The corresponding .desktop file is here.

See also

Content is available under Creative Commons License SA 4.0 unless otherwise noted.