De bestanden zijn te vinden in de map /usr/share/applications/. Mocht een programma geïnstalleerd zijn in een andere prefix (bijv. /opt/programma/), moet je achter dat pad ook weer share/applications plakken. Maar /usr/share is standaard. KDE zet zijn bestanden (dit zijn er veel, daarom) in een aparte map in die map, namelijk kde4/.
Goed, laten we eens zo’n bestand naderbij bekijken. Kies een bestand uit in deze map en open het met een willekeurige editor, en zoek de volgende elementen. Ik zal uitgaan van het bestand voor marble, de virtuele wereldbol van KDE.
Elk bestand begint met de volgende regel
[Desktop Entry]
deze bepaald dat het desktop-bestand is, conform de standaarden.
De volgende regels kunnen eigenlijk in willekeurige volgorde komen.
Type=Application
Deze regel vertelt dat het om een gewoon programma gaat. Andere waarden zijn “Link” en “Directory”, respectievelijk om naar webpagina’s of mappen te wijzen.
Exec=marble
Exec geeft het uit te voeren commando, dit commando in een terminal tikken zou hetzelfde resultaat geven. Als het om een link gaat, gebruik je “URL” i.p.v. “Exec”.
Name=Marble
Gewoon de naam van het programma.
Dit waren de verplichte delen, de rest is optioneel, maar wordt vaak gebruikt.
MimeType=application/vnd.google-earth.kml+xml;application/gpx+xml;
De bestanden die dit programma kan openen, heel handig, want zo wordt een programma automatisch met de juiste bestanden geassocieerd. Een lijst van de mimetypes vind je hier.
GenericName=Desktop Globe
Verteld de gebruiker het soort programma waar het over gaat. Kan ook “webbrowser”, “mediaspeler”, enz. zijn. Deze beschrijving vindt je veel terug in menu’s.
Icon=marble
Het te tonen pictogram in het menu. Dit is gewoon de bestandsnaam van de pictogrammen in /usr/share/icons of /usr/share/pixmaps, zonder bestandsexistentie.
Terminal=false
Moeten we dit uitvoeren in een terminal of niet? Waarden zijn true of false, standaard is dit trouwens false, dus deze regel was niet nodig geweest.
Categories=Qt;KDE;Education;Geography;
De categorieën in het menu waar we willen inkomen.
Er is ook nog
Comment=
Maar niet in dit bestand (maar wel veel bij Gnome), dat kort beschrijft wat je kan doen met het programma. Dit zou kunnen zijn:
Comment=Look at the world on your computer
of iets dergelijks.
De regels “Name”, “Comment” en “GenericName” kunnen ook worden vertaald. Dit wordt gedaan met NaamVanDeSleutel[taalcode] als sleutel, bijvoorbeeld:
GenericName[nl]=Globe op het bureaublad
Verder heb je ook nog sleutels beginnend met x-, die worden gebruikt om het bestand uit te breiden met extra informatie voor specifieke programma’s.
X-DocPath=marble/index.html
bijvoorbeeld verteld KDE waar de documentatie is. Gnome en consorten negeren deze regel.
Sommige programma’s gebruiken .desktop-bestanden voor hun eigen doeleinden, bijvoorbeeld om plugins te benaderen. Met deze basiskennis zal je deze bestanden wel kunnen doorgronden, aangezien ze gelijk zijn opgebouwd.