Comment 29 for bug 635223

Revision history for this message
Mikkel Kamstrup Erlandsen (kamstrup) wrote : Re: [Bug 635223] Re: Wine applications not listed in Unity Applications Place

On 28 September 2010 13:22, Damjan Jovanovic <email address hidden> wrote:
> In Wine the general policy is only freedesktop specifications are
> supported, no desktop-specific hacks.
>
> There isn't any cross-desktop spec for matching windows -> .desktop
> files, but http://live.gnome.org/GnomeShell/ApplicationBased seems like
> a good place to start:
>
> "To ensure the GNOME 3 Shell will track your application, you can also
> set the WM_CLASS X window property to be the same as your application's
> .desktop file name, without the .desktop extension. The easiest way to
> achieve this is to have your application's process name match the
> .desktop file name, and ensure you use g_option_context_parse."

It also says:

"There are a variety of heuristics used to make the association
between X windows and .desktop files for backwards compatibility.
These heuristics are complex and still evolving, and will not be
detailed here. "

So basing anything off that seems risky business.

Unity is using BAMF (hosted on lp:bamf) to do window matching. To know
the details of how it works you'd have to consult with Jason Smith,
but to my knowledge it tries to do exact matching by using an index of
the .desktop files and if unsuccessful it falls back to a net of
heuristics.

I can appreciate that all apps needing a "dispatcher" are in trouble
here. For setting the program name one could use prctl(), but that
would not work in general. We're probably never gonna go completely
without a set of heuristics, and I don't think anyone expects
otherwise.

I'll try to get Jason's input on this.

--
Cheers,
Mikkel