On Tue, 08 Jun 2004 18:03:38 +0200, Luca Capello wrote:
- get it working again on my machine (GNOME2 on Debian) - - extend it
to other desktop environments (KDE2/3, GNOME1) on Debian - - extend it to other distros
I don't think it makes any sense to support anything other than the XDG menu spec (which unfortunately not much supports yet, I think Fedora Core 2 has most of it in place). There is a standard, we should follow it and wait for the desktops to catch up. Then standards compliant desktop/distro setups work, and others don't.
Believe me, if you saw the pain we go through in CrossOver to make this work everywhere you would understand this attitude.
Menu support has been broken in Wine for so long that a few months longer while waiting for the One True Standard (XDG menus) to filter down to the people is not a big deal.
IMHO, 'wineshelllink' should first create the .desktop file and then check where it should be copied and so on, based on desktop environment/distro. This means a complete change in the 'wineshelllink'. And I'll add a new option, something like '--path-to-be-installed' (where the .desktop entry should be copied): in this case, 'wineshelllink' can be invocated to created general menu entry (not desktop environment/distro specific).
Unfortunately it's not that simple. It's not enough to create a .desktop file and put it in the right place. Modern desktops require you to edit XML files (best way is to use XSLT I'd say) and other funky things as well as creating .desktop files.
The first feature is very simple and already done. The second one is not difficult if the menu you want to create is done manually, I mean, the .desktop files are plain text and creating/managing them is quite simple. If you want to do it by the installation process, is a little harder and here IMHO the necessary steps: - - launch WineTools - - choose to install an application
- WineTools saves the 'windows/Start Menu/' tree - - the application
is installed
and returns which menu entries (folder and launchers) should be created in this form (example with BioEdit [3]): folder > Programs/BioEdit launcher > Programs/BioEdit/BioEdit Help.lnk launcher > Programs/BioEdit/BioEdit.lnk
- WineTools compares the new 'windows/Start Menu/' with the saved one
- WineTools creates the new folder and launchers
Why not simply use the current system which hooks IShellLink?
thanks -mike