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@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