|
|
(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]] | |