Binary name in the desktop file

Jerome Leclanche adys.wh at gmail.com
Thu Dec 26 12:22:33 PST 2013


You're confused. /usr/bin/env is an executable. It sets the
environment. My whole point is this is *not* a bug and it's possible,
albeit hacky.
J. Leclanche


On Thu, Dec 26, 2013 at 8:34 PM, Dominique Michel
<dominique.michel at vtxnet.ch> wrote:
> Le Thu, 26 Dec 2013 19:43:36 +0000,
> Jerome Leclanche <adys.wh at gmail.com> a écrit :
>
>> I don't see what menu categories have to do with this. Nor how this is
>> a Wine bug.
>
> # cat /usr/share/applications/wine-winecfg.desktop|grep Categories
> Categories=Wine;
>
> # desktop-file-validate /usr/share/applications/wine-winecfg.desktop
> /usr/share/applications/wine-winecfg.desktop: error: value "Wine;" for
> key "Categories" in group "Desktop Entry" contains an unregistered
> value "Wine"; values extending the format should start with
> "X-"
> /usr/share/applications/wine-winecfg.desktop: hint: value "Wine;"
> for key "Categories" in group "Desktop Entry" does not contain a
> registered main category; application might only show up in a
> "catch-all" section of the application menu
>
> For your Exec key issue, at
> http://standards.freedesktop.org/desktop-entry-spec/latest/ar01s06.html
> it is no mention of environmental variables, but it is that:
> "The Exec key must contain a command line. A command line consists of
> an executable program optionally followed by one or more arguments."
>
> This imply the command line must begin by the executable, not by a
> variable. So, this is a bug in wine which generate a buggy desktop file.
> BTW, I don't know how you get it, because in my install I have:
>
> # cat /usr/share/applications/wine.desktop|grep Exec
> Exec=wine start /unix %f
>
> and I checked the gentoo ebuild, it doesn't modify the desktop files,
> but have an internal workaround for the non standard category to not
> generate a warning during the installation. (Normally, each desktop file
> are checked by portage for conformity, and portage complain when it is
> not the case. This check is skipped by the ebuild as wine provide
> extra files in /etc/xdg/menus and /usr/share/desktop-directories to
> deal with that non standard category.)
>
> Dominique
>
>>
>> J. Leclanche
>>
>>
>> On Thu, Dec 26, 2013 at 8:00 PM, Dominique Michel
>> <dominique.michel at vtxnet.ch> wrote:
>> > Le Thu, 26 Dec 2013 20:19:08 +0100,
>> > Dominique Michel <dominique.michel at vtxnet.ch> a écrit :
>> >
>> >> Le Thu, 26 Dec 2013 11:56:57 +0000,
>> >> Jerome Leclanche <adys.wh at gmail.com> a écrit :
>> >>
>> >> > My point is, "env" is not what you should get for this. Wine is
>> >> > just using env as a "hacky" way to give wine the WINEPREFIX
>> >> > variable.
>> >> >
>> >> >
>> >> > J. Leclanche
>> >>
>> >> So, this is a wine bug, as their non standard Wine category which
>> >> is not prefixed by X- and necessitate an extra xdg menu
>> >> infrastructure.
>> >
>> > Another one is the bogus focus policy of the wine windows that think
>> > they know better than the wm how to focus.
>> >
>> >>
>> >> Dominique
>> >>
>> >> >
>> >> >
>> >> > On Thu, Dec 26, 2013 at 11:51 AM, Kevin Krammer <krammer at kde.org>
>> >> > wrote:
>> >> > > On Thursday, 2013-12-26, 11:33:13, Jerome Leclanche wrote:
>> >> > >> On Thu, Dec 26, 2013 at 11:25 AM, Kevin Krammer
>> >> > >> <krammer at kde.org> wrote:
>> >> > >> > On Thursday, 2013-12-26, 10:56:11, Jerome Leclanche wrote:
>> >> > >> >> I'd really like to be able to get the binary name from
>> >> > >> >> desktop files (eg a way to "start without any argument").
>> >> > >> >> Current implementations rely on getting the first word of
>> >> > >> >> the Exec key OR replace %f etc by nothing, but that fails
>> >> > >> >> for things such as these:
>> >> > >> >>
>> >> > >> >> Exec=env
>> >> > >> >> WINEPREFIX="/home/adys/.local/share/wineprefixes/default"
>> >> > >> >> wine start /ProgIDOpen chm.file %f
>> >> > >> >
>> >> > >> > What do you mean when you say "fails"?
>> >> > >> > That the command won't launch if %f is replaced by nothing
>> >> > >> > or that taking the first string fails to see that the
>> >> > >> > launched program is /usr/bin/env?
>> >> > >> Sorry, I meant the usual way of getting the binary name
>> >> > >> (which in this case would be "env").
>> >> > >
>> >> > > Ok, thank you for clarifying.
>> >> > > However, I don't see how the simple algorith of taking the
>> >> > > first word could possibly fail to return 'env'.
>> >> > > That is the most simple case: no path, no escaped or quoted
>> >> > > whitespace, just a simple alphabetic sequence.
>> >> > >
>> >> > > Cheers,
>> >> > > Kevin
>> >> > > --
>> >> > > Kevin Krammer, KDE developer, xdg-utils developer
>> >> > > KDE user support, developer mentoring
>> >> > >
>> >> > > _______________________________________________
>> >> > > xdg mailing list
>> >> > > xdg at lists.freedesktop.org
>> >> > > http://lists.freedesktop.org/mailman/listinfo/xdg
>> >> > >
>> >> > _______________________________________________
>> >> > xdg mailing list
>> >> > xdg at lists.freedesktop.org
>> >> > http://lists.freedesktop.org/mailman/listinfo/xdg
>> >> _______________________________________________
>> >> xdg mailing list
>> >> xdg at lists.freedesktop.org
>> >> http://lists.freedesktop.org/mailman/listinfo/xdg
>> > _______________________________________________
>> > xdg mailing list
>> > xdg at lists.freedesktop.org
>> > http://lists.freedesktop.org/mailman/listinfo/xdg
> _______________________________________________
> xdg mailing list
> xdg at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/xdg


More information about the xdg mailing list