Desktop File spec vs. KDE vs. gnome-panel

George jirka at
Mon Jul 28 20:09:30 EEST 2003


Basically what happens is that the spec says that
Exec=kasteroids %i %m -caption "%c"

Should be expanded with %c standing for the comment.  However the .desktop
file for that game has no Comment= field.  Under KDE, the game still gets a
caption, under gnome when launching from the panel, it doesn't get a caption
since the panel follows the spec in this regard.  We also don't expand %i
currently (since expanding to according to the spec breaks all kde apps), and
%m is not part of the spec.

Furthermore there is the %k entry in the spec which is the 'Name' field
apparently, or at least that's how I understood the spec when I read it and
implemented the expansion stuff a while back.  The spec is very ambiguous 
here as it could very well be the filename, since all it says is:

 %k  the name of the desktop file

It would make sense that the above would be more like:

 Exec=kasteroids -icon "%i" -caption "%k"

That would be spec conformant.

The % expansion stuff should be better codified in the spec, specifically
giving the fields from which stuff is taken out of.  Instead of "name of the
desktop file" it should be "the Name field from the desktop file in the
current language" or some such.

Of course given that %k is really the Name field.

However that still leaves %i and %m.  I'm not sure how to deal with that.
First of all %m is disallowed by the spec since, I quote:

 Again for emphasis: nonstandard extensions are not allowed here - you must
 add an X-Foo-Exec field if you have nonstandard Exec lines"

And %i is what?  The expanded icon?  Just the Icon field?  Actually what KDE
seems to expect is something like:
 -icon foo

Because of the above I would propose removing %i and %m from the spec, and
replacing with a new parameter say %I which is just the Icon= field.   I
would further add %i and %m to the spec as purely ignored parameters (should
be deleted by the launching application)

Which is definately not in the spec.


George <jirka at>
   A man's ethical behavior should be based effectually on sympathy, education,
   and social ties; no religious basis is necessary. Man would indeed be in a
   poor way if he had to be restrained by fear of punishment and hope of reward
   after death.
                       -- Albert Einstein

More information about the xdg mailing list