Comment 18 for bug 635223

Revision history for this message
Mikkel Kamstrup Erlandsen (kamstrup) wrote :

I pushed up a branch much similar to Adam's idea (thanks taking a shot at this Adam!). It will result in Wine apps showing up (and being searchable) under All Applications, but they can not be launched - and that seems to be a way trickier issue to resolve...

I installed Songbird's Windows version with Wine. This gives me 4 .desktop files in /home/kamstrup/.local/share/applications/wine/Programs/Songbird/Songbird*.desktop. When I ask libgnome-menu for the desktop id for any of these apps I get a string like: wine-Programs-Songbird-Songbird (Profile Manager).desktop

The problem is that Unity relies heavily on "desktop ids" everywhere, which is defined to be the basename of the .desktop file including the extension. Ie. Firefox has firefox.desktop as desktop id. By virtue of the XDG Menu Spec we search for applications/$desktop_id in $XDG_DATA_DIRS and ~/.local/share in order to find the right .desktop file to launch.

Thus we expect the Songbird desktop files as: /home/kamstrup/.local/share/applications/wine-Programs-Songbird-Songbird (Profile Manager).desktop, but this is not where we can find them. I am not sure exactly how to resolve this - since breaking the invariant that we use desktop ids to identify applications will bring in a bucket load of collateral problems...