PATCH: Desktop entry spec - Exec key

Francois Gouget fgouget at
Tue Aug 8 18:14:58 EEST 2006

Bastian, Waldo wrote:
> The Exec key must contain a command line. A command line consists of an
> executable program optionally followed by one or more arguments. The
> executable program can either be specified with its full path or with
> the name of the executable only. If no full path is provided the
> executable is looked up in the $PATH used by the desktop environment.
> Arguments are separated by a space. A space can be included into an
> argument by enclosing the whole argument with either single or double
> quotes.

This part should mention that it is possible to include double-quotes 
into an argument by escaping it with a backslash. Otherwise some 
implementations will likely forget about this. Also, quoting can apply 
to the application name, not just the parameters.

> Implementations must take care not to expand field codes into multiple
> arguments unless explicitly instructed by this specification. This means
> that name fields, filenames and other replacements that can contain
> spaces must be passed as a single argument to the executable program
> after expansion.

It's a good idea to include this in the specification. Another question 
though: what happens if a filename contains a space and the parameter is 
"%f", that is it already has enclosing double-quotes? (or enclosing 
single-quotes for that matter)
I believe that the current practice is to do what's expected, that is 
still make sure the filename is correctly quoted.

Francois Gouget
fgouget at

More information about the xdg mailing list