RFD: Using "Type=MetaApplication" for package managers and application stores

Jacob Edwards j.johan.edwards at gmail.com
Sat Aug 6 16:45:45 PDT 2011


Hello everyone.

Over the past few years Ubuntu has been using desktop entries to fetch
applications from its repositories and display them in the software
center. All packages with a desktop file are considered applications;
they appear with their entries' Name, Icon, and Comment in the
software center, while other packages are hidden as "technical items".

It turns out this approach is problematic.

 * Some applications have extra desktop launchers. Wesnoth, for instance,
   comes with a map editor. From the perspective of an app store, however,
   'wesnoth.desktop' and 'wesnoth-1.8_editor.desktop' are just one app.
 * Some applications have no primary launcher. Wine, for instance, comes
   with a notepad, a configuration launcher, a registry editor, a program
   uninstaller, a help app, and a drive browser. None of these embody
   "Wine" as one thing a user is interested in installing.
 * Finally, at a package level, it is often advantageous to package
   desktop launchers separately from the main package. So an app store
   ends up installing a 'app-common' package instead of the entire
   application.

In the past we've manually maintained an entry blacklist and package->app
mapping for the software center. It's become clear that this solution
won't scale.

There's been some discussion around a solution at the package level:

# https://dev.launchpad.net/ArchiveIndex#Overrides

However, I think it would be much cleaner to extend the Desktop Entry
standard to include *generic, non-executable descriptions of a user
application*. Such a file might look like this:

    [Desktop Entry]
    Version=1.0
    Type=MetaApplication
    Name=Foo Viewer
    Comment=The best viewer for Foo objects available!
    URL=http://fooview.com
    Icon=fooview
    MimeType=image/x-foo;

    # And perhaps.....
    Package=fooview
    Screenshot=http://fooview.com/screenshot.jpg
    Description=[Longer description of fooview here]

Would any other parties be interested in modifications like this landing
in the Desktop Entry spec?


More information about the xdg mailing list