Hi Steven,
I don't really know if we want to just focus on applets or if we should not aim for having this project provide better integration with the native desktop. As far as I understand there is some infrastructure work that will need to be done in shell32 as I don't think we fully implement the entire Control Panel shellname space. I expect implementing this properly will take a good bit of time. What would be cool would be if we fully supported the namespace so that when you called control.exe it loaded the control panel window and that could be embedded in a GTK or QT window for use by native applications. There was a patch floating around on wine-patches a few months back to allow for embedding a Win32 Wine window inside of an existing X window that should do the trick.
Implementing the proper Control Panel namespace would certainly make the control panel section of the project a much longer one. My initial thoughts were that it may be an easier task to implement the Control Panel in a more old-fashioned style of simply having a list view into which the control panel icons were placed - this would certainly provide a sufficient interface for accessing the control panel. However, it probably would be better in the long run to implement things "properly", and at the very least getting Control Panel integrated with the shell namespace. Integration with native applications certainly looks as though it would provide an added challenge to that project, but is an interesting idea that could work quite nicely.
As far as migration of the stuff in winecfg and other programs go, I think starting with the Add/Remove applet is a good. I don't think it would be too hard to take all of the current logic in wine/programs/uninstall and wrap it in a proper applet. We want to make sure that we don't introduce any sort of regression when we make the switch over so reusing that code would be a good place to start.
Indeed, my plan was to make use of appropriate Wine tools where they existed, such as in the case of the uninstaller, and flesh them out into fully-featured control panel applets.
So to recap, (this just goes for for me) I think the project should be laid out as follows
- A fully working Control Panel Namespace
- The ability to embed the Control Panel window in a native window
- Have a collection of applets to configure wine
This sounds like a pretty decent way of going about things. Number 2 was something I hadn't particularly considered doing initially, but I'll have a look for the patch that was posted recently and see what I think about it and how much work is likely to be involved.
Cheers,