xdg-open only substitutes field codes that are surrounded by spaces
xdg-open only substitutes field codes such as
%f if they are separate arguments, i.e. if they are surrounded by spaces.
Exec=foo --bar %f
This doesn't work:
The Desktop Entry Specification does not seem to mention that field codes have to be surrounded by spaces. Other openers such as
gio open do not have this limitation.