Start menu (especially for Alexandre Julliard)

Mike McCormack mike at codeweavers.com
Wed Oct 1 14:39:58 CDT 2003


Robert van Herk wrote:
> Mike McCormack wrote:
> 
>> Ideally, you'd want to write a Gnome VFS module that calls shell32.dll 
>> and queries the shell name space to generate the start menu the same 
>> way Windows does.  You need to use some RPC mechanism to do that, as 
>> you can't link wine dlls directly into your gnome vfs module. 
> 
> 
> Oof, that sounds hard to do ;-).
> 
> Does this mean that this module would rather be a "Windows" program (or 
> Wine program if you like), than a Linux programme? Because I guess that 
> with a Win32 program it would be easier to access shell32.dll. Although 
> that would not blend so well into your Linux environment I guess...
> 
> Or maybe it is possible to write a thin Windows deamon that kinda serves 
> the icons and links to a Linux program? Maybe they can talk though 
> std/in std/out so that they could be piped together?
> 
> Any ideas on that?

What I'm talking about would be, like you say, a Windows daemon that 
servers the icons and pathes.  The client and server would communicate 
with each other via a pipe or something like that.

The client(s) would be a gnome vfs library, the KDE equivilent, or 
perhaps even plugins for other desktops.

To make it easier, i guess you could just make the windows daemon 
enumerate the .lnk files in Windows/Start Menu first, then once you have 
that working, make it query the shell instead.

The appropriate code from Gnome to look at is in the gnome cvs:

:pserver:anonymous at anoncvs.gnome.org:/cvs/gnome

the module names are:

gnome-vfs
gnome-vfs-extras
gnome-panel

I was looking at xml-rpc for the protocol to use on the pipe, but that 
might be a bit of an overkill, and it could be easier to write the 
protocol yourself.

http://www.xmlrpc.com/directory/1568/implementations

If you are going to use xml-rpc, make sure to choose an implementation 
that is LGPL compatible.

Mike




More information about the wine-devel mailing list