Development/Tutorials/Desktop File: Difference between revisions

From KDE TechBase
(see also)
(The page was moved again)
 
(14 intermediate revisions by 5 users not shown)
Line 1: Line 1:
{{Template:I18n/Language Navigation Bar|Development/Tutorials/Desktop File}}
This tutorial was updated and moved to https://develop.kde.org/docs/features/desktop-file/


{{TutorialBrowser|
[[Category:MovedDevelop]]
 
series=Basics|
 
name=Desktop File|
 
pre=[[Development/Tutorials/Session_Management|Session Management]]|
 
next=|
 
reading=[http://standards.freedesktop.org/desktop-entry-spec/latest/ 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:
 
<syntaxhighlight lang="ini">
[Desktop Entry]
Type=Application
Exec=your-app %u
MimeType=application/x-your-mime-type;
Icon=some-icon
X-DocPath=yourapp/index.html
Terminal=false
Name=Your App
GenericName=Some Generic Name
Comment=Short Description Of Your App
Categories=Qt;KDE;
</syntaxhighlight>
 
Take a look at [http://standards.freedesktop.org/desktop-entry-spec/latest/ 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 ==
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 [https://github.com/tstaerk/quickpen/blob/dc7a5560b0cbac159d1c443572c676ee7d8fbb23/quickpen.pro here]. The related .desktop file can be found [https://github.com/tstaerk/quickpen/blob/e3b03c5949085e87a659303ae7866378f6539542/quickpen.desktop 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 [http://quickgit.kde.org/?p=kdepim.git&a=blob&hb=18742d763bc8a2d2c2c7ef433cc66c39b6a95036&f=ktimetracker/support/CMakeLists.txt here]. The corresponding .desktop file is [http://quickgit.kde.org/?p=kdepim.git&a=blob&hb=63798b547ecb595d166cdbe2e0a04d985fcc8980&f=ktimetracker/support/ktimetracker.desktop here].
 
= See also =
* [http://standards.freedesktop.org/desktop-entry-spec/latest/ FreeDeskTop's specification about Desktop entries]
 
[[Category:Programming]]
[[Category:Tutorial]]
[[Category:FAQs]]

Latest revision as of 14:10, 18 July 2023

This tutorial was updated and moved to https://develop.kde.org/docs/features/desktop-file/