desktop-file-utils
desktop-file-utils contains a few command line utilities for working with desktop entries:
- desktop-file-validate: validates a desktop file and prints warnings/errors about desktop entry specification violations.
- desktop-file-install: installs a desktop file to the applications directory, optionally munging it a bit in transit.
- update-desktop-database: updates the database containing a cache of MIME types handled by desktop files. It requires GLib to compile, because the implementation requires Unicode utilities and such.
Development
The development occurs in git, in the xdg/desktop-file-utils repository. Bugs should be reported in Bugzilla.
Download
Tarballs can be found at http://www.freedesktop.org/software/desktop-file-utils/releases/
- http://www.freedesktop.org/software/desktop-file-utils/releases/desktop-file-utils-0.23.tar.xz
- desktop-file-validate
- Accept version 1.1 desktop files (Matthias Clasen).
- Add Cinnamon, EDE and LXQt to the list of registered desktop environments (fdo#73497, fdo#56353, fdo#79561) (Michael Webster, David Faure, Jauhien Piatlicki).
- Allow multipart/related MIME type; it's used for MHTML (fdo#93376) (Hans Petter Jansson).
- Ensure DBusActivatable filenames conform to reverse-DNS notation (fdo#66904) (Hans Petter Jansson).
- Downgrade trailing semicolons to optional (fdo#76902) (Jerome Leclanche).
- Fix buffer over-read (fdo#94303) (Hans Petter Jansson; reported by Hanno Boeck and Agostino Sarubbo).
- desktop-file-validate
- http://www.freedesktop.org/software/desktop-file-utils/releases/desktop-file-utils-0.22.tar.xz
- desktop-file-validate
- add DBusActivatable key to allowed keys (Matthias Clasen)
- warn about OnlyShowIn in Action groups (Matthias Clasen)
- allow validating multiple desktop files (Matthias Clasen)
- improve help output (Matthias Clasen)
- update man page (Matthias Clasen)
- update-desktop-database
- list only once a desktop file per mime type (Vincent)
- misc
- honor NOCONFIGURE=1 (Colin Walters)
- desktop-file-validate
- http://www.freedesktop.org/software/desktop-file-utils/releases/desktop-file-utils-0.21.tar.xz
- desktop-file-validate
- update to current version of menu specification (Vincent):
- only print hint if no main category is present, not an error
- make Science a main category
- add new registered categories: Adult, Feed, Humanities, Maps, Shooter, Spirituality, XFCE
- update related categories
- add TDE to list of registered OnlyShowIn
- accept and validate GNOME3/GSettings for AutostartCondition (Vincent)
- output hint if more than one main category is present (Vincent)
- output hint about suggested related categories (Vincent)
- update to current version of menu specification (Vincent):
- misc
- do not require glib >= 2.28 for build (Vincent)
- desktop-file-validate
- http://www.freedesktop.org/software/desktop-file-utils/releases/desktop-file-utils-0.20.tar.xz
- desktop-file-install
- fix list of locale strings without trailing slash (Matthias Clasen)
- desktop-file-validate
- add MATE and Razor to list of registered environments (Vincent)
- validate Desktop Actions (Giovanni Campagna, Vincent)
- desktop-file-install
- http://www.freedesktop.org/software/desktop-file-utils/releases/desktop-file-utils-0.19.tar.xz
- desktop-file-install
- respect order of edit options (Vincent)
- add --add-not-show-in/--remove-not-show-in options (Vincent)
- add options to set Name, ?GenericName, Comment, Icon keys (Vincent)
- add --set-key/--set-value options to set an arbitrary key (Vincent)
- remove localized keys when setting/removing a key (Vincent)
- copy translations when copying a key (Vincent)
- create a desktop-file-edit symlink to desktop-file-install to simply edit .desktop files (without having to pass --dir) (Vincent)
- look at RPM_BUILD_ROOT to know where to install desktop files
- minor UI improvements (Vincent)
- desktop-file-validate
- add Unity to list of registered environments (Vincent)
- deal with various zz-application/zz-winassoc-XXX mime types (Vincent)
- mark all zz-application/* MIME types as aliases (Vincent)
- add support for updated Keywords key (Vincent)
- update-desktop-database
- deal with various zz-application/zz-winassoc-XXX mime types (Vincent)
- mark all zz-application/* MIME types as aliases (Vincent)
- ignore desktop files with Hidden=true (Vincent)
- misc
- modernize build system a bit (Vincent)
- update man pages (Vincent)
- desktop-file-install
- http://www.freedesktop.org/software/desktop-file-utils/releases/desktop-file-utils-0.18.tar.bz2
- desktop-file-validate
- accept x-scheme-handler/* mime types (Vincent)
- update-desktop-database
- sort mime types alphabetically in generated cache (Vincent)
- accept x-scheme-handler/* mime types (Vincent)
- misc
- improve build system (Vincent)
- minor documentation fixes (Vincent)
- desktop-file-validate
- http://www.freedesktop.org/software/desktop-file-utils/releases/desktop-file-utils-0.17.tar.bz2
- desktop-file-validate
- accept chemical/* mime types as valid types (Vincent)
- make icon names with an extension for Icon key a non-fatal error (Vincent)
- update-desktop-database
- accept chemical/* mime types as valid types (Vincent)
- ignore --verbose if --quiet is also passed (Vincent)
- make sure to always output lists in the keyfile we generate (Vincent)
- misc
- improve build system (Vincent)
- update documentation (Vincent)
- add man pages (Vincent)
- desktop-file-validate
- http://www.freedesktop.org/software/desktop-file-utils/releases/desktop-file-utils-0.16.tar.bz2
- desktop-file-install
- do not unlink the destination file if it's the same as the source file in desktop-file-install (Vincent)
- desktop-file-validate
- check that a main category is included in the Categories (Vincent)
- check that categories required by another one are present (Vincent)
- do not always show warnings about KDE specific uses (Vincent)
- check that the Comment does not look like the Name and the ?GenericName (Vincent)
- display error about multiple keys with the same name earlier (Vincent)
- improve MIME type check to make sure that the MIME types are valid (Vincent)
- add LXDE in the list of registered ?OnlyShowIn values (Vincent)
- add "warning" to error strings to make them easily greppable (Vincent)
- handle ?AutostartCondition key, as proposed for the autostart specification and used in GNOME (Vincent)
- accept empty Categories key as valid (Vincent)
- make new errors non-fatal to give some time to maintainers to fix their .desktop file after a release of desktop-file-utils (Vincent)
- plug leak (Vincent)
- code cleanups (Vincent)
- update-desktop-database
- improve MIME type check to make sure that the MIME types are valid (Vincent)
- improve error messages (Erik Hovland, Vincent)
- fix format string vulnerability warning (Vincent)
- misc
- use AM_SILENT_RULES (Vincent)
- improve build system (Vincent)
- desktop-file-install
- http://www.freedesktop.org/software/desktop-file-utils/releases/desktop-file-utils-0.15.tar.gz
- make the extension check for Icon key a warning instead of an error for now (Ray Strode)
- Fix a crash in update-desktop-database when there's no group (Vincent)
- Fix a crash in the validator happening for very small lines (Vincent)
- http://www.freedesktop.org/software/desktop-file-utils/releases/desktop-file-utils-0.14.tar.gz
- update of the Emacs editing mode for .desktop files (Ville Skyttä)
- make desktop-file-install print an error when trying to install a non-existing desktop file, or a desktop file that can't be read (Vincent)
- make the validator check the content of the Icon key (Vincent)
- make the validator accept X-Foo as a valid environment (this was added to the spec) (Stanislav Brabec, Vincent)
- really handle the -m command line argument for desktop-file-install (Matthias Clasen)
- make desktop-file-install accept as one valid argument multiple categories/only-show-in/mime-types values. Now --add-category="GNOME;GTK" works as expected. (Vincent)
- make desktop-file-install validate the created desktop file before removing the original file, and unlink it if it's not valid (Vincent)
- code cleanups for desktop-file-install (Vincent)
- http://www.freedesktop.org/software/desktop-file-utils/releases/desktop-file-utils-0.13.tar.gz
- rewrite validator, and update it for desktop entry specification 1.0. The validator should be stricter and report more useful messages. (Vincent)
- add --warn-kde and --no-warn-deprecated command line options to desktop-file-validate (Vincent)
- port desktop-file-install to GKeyFile (Vincent)
- don't require --vendor for desktop-file-install (Vincent)
- some general module cleanup (Vincent)
- http://www.freedesktop.org/software/desktop-file-utils/releases/desktop-file-utils-0.12.tar.gz
- improves category validation code to not catch false positives (Vincent Fretin, Ville Skyttä, Ray Strode, Vincent Untz)
- make category validation code non-fatal (Ray)
- fix mem leaks and double frees (Pascal Terjan)
- http://www.freedesktop.org/software/desktop-file-utils/releases/desktop-file-utils-0.11.tar.gz
- Validate desktop file categories (Emmet Hikory, Vincent Untz)
- Use GKeyFile instead of the old egg code in update-desktop-database (Vincent)
- Use GOption instead of popt (Vincent)
- Fix grammar problem in one of the strings (Moritz Barsnick)
- NULL terminate search patch in update-desktop-database (Mike Hearn)
- Fix language to encoding mapping to match spec (Ville Skyttä)
- http://www.freedesktop.org/software/desktop-file-utils/releases/desktop-file-utils-0.10.tar.gz
- Remove all menus code (Mark ?McLoughlin)
- Don't try and add key/value pairs to comments (Miloslav Trmac)
- http://www.freedesktop.org/software/desktop-file-utils/releases/desktop-file-utils-0.9.tar.gz
- Many update-desktop-database improvements (Ray Strode, Dan Williams)
- Fix desktop-file-install --remove-only-show-in (Ray Strode)
- http://www.freedesktop.org/software/desktop-file-utils/releases/desktop-file-utils-0.8.tar.gz
- Fix various leaks (Kjartan Maraas)
- Update with latest libegg code (Ray Strode)
- Menu method work (Mark ?McLoughlin, Dan Williams)
- http://www.freedesktop.org/software/desktop-file-utils/releases/desktop-file-utils-0.7.tar.gz
- Add update-desktop-database (Ray Strode)
- Emacs editing mode for .desktop files (Ville Skyttä)
- Update to latest spec, improve error messages (Ville Skyttä)
- Warning fixes (Mark ?McLoughlin)
- distcheck fixes (Jonathan Blandford)
- http://www.freedesktop.org/software/desktop-file-utils/releases/desktop-file-utils-0.6.tar.gz
- Bring up to date with version 0.8 of the menu spec
- Don't crash when a .desktop file is a symlink to a non-existant file
- http://www.freedesktop.org/software/desktop-file-utils/releases/desktop-file-utils-0.5.tar.gz
- Don't segfault with .desktop files which have a leading comment
- http://www.freedesktop.org/software/desktop-file-utils/releases/desktop-file-utils-0.4.tar.gz
- Add support for "Desktop Action" sections
- http://www.freedesktop.org/software/desktop-file-utils/releases/desktop-file-utils-0.3.tar.gz
- Create target dir of desktop-file-install if nonexistent; improve some error messages; fix ?OnlyShowIn handling; add --print-available option to dump desktop files being considered by desktop-menu-tool; rename obsolete [KDE Desktop Entry] section if found; fix a crash; verify proper spelling of KDE and GNOME in ?OnlyShowIn; add a --remove-key option; check that string lists end in a semicolon; add --copy-name-to-generic-name and vice versa; fix bug in --delete-original that made it not work
- http://www.freedesktop.org/software/desktop-file-utils/releases/desktop-file-utils-0.2.tar.gz
- Adds desktop-menu-tool to parse vfolder menus and generate a symlink tree or just print them out.
- http://www.freedesktop.org/software/desktop-file-utils/releases/desktop-file-utils-0.1.tar.gz
- Initial release. Contains desktop-file-validate and desktop-file-install.