I had an interesting and helpful conversation with a member of the KDE
team at Debconf.  They made an interesting proposal:

 * We have machinery that can produce trad menu files from desktop
   files.

 * It is possible to have extension information in extra fields in a
   .desktop file.  This could be used to record the trad Debian
   category and name metadata currently residing in trad Debian menu
   files.

 * Where such metadata is accepted by upstream, we could include it in
   the primary .desktop file.

 * Where such metadata is not accepted by upstream, our tooling could
   be arranged to be able to combine XDG information from two .desktop
   files, one from upstream and one provided in the Debian package.
   This would avoid the need for patching an upstream menu file, which
   is unattractive.

 * Overall, this would make it possible, therefore, to maintain the
   menu information primarily in the more sophisticated .desktop
   format, so that source packages with .desktop files would not need
   to contain trad menu files too.

The only remaining questions are then :

 Q1.  Whether it is better to convert from .desktop files to trad
      Debian menu files at package build time, or to change the
      existing trad menu consumers to be able to convert .desktop
      files to the required format ?

      There is an easy answer to this: this conversion may involve
      image conversion libraries including even perhaps an SVG
      renderer, and other conversion software, which is
      disproportionately heavyweight for many trad menu consumers.
      (Trad menu consumers tend to be non-desktop `lightweight' window
      managers.)

      Whereas most software that ships a .desktop file will have
      fairly extensive build dependencies, and in general adding image
      conversion tools to their build dependencies will not be
      awkward.  This also means the conversion is done once, at
      package build, rather than on each end-user system.

      Therefore the format specified in the .deb, to be used by trad
      menu consumers should continue to be the trad Debian menu file.

 Q2.  Whether packages (bc, many command line games, ...) which only
      want to provide a trad Debian menu entry should do so by
      including a .desktop file in the source code, or a trad menu
      entry.

      I see no need for policy to mandate any particular answer to
      this.  The maintainer should do what they prefer.

Ian.

Reply via email to