I would like to add a checkbox control ("Show host filesystem") to winecfg to allow the user to easily (un-)register the unixfs shell namespace extension. So winecfg would have to query and create/delete the "HKLM\Software\Microsoft\CurrentVersion\Explorer\MyComputer\Namespace{UNIXFS-CLSID}" key. There are helper functions in winecfg.c to cache registry values for later application, iff the user clicks "Apply" or "Ok". However, those seem to work only for keys rooted at the config key "HKCU\Software\Wine".
My question is: Am I doomed to implement the caching on my own for this key, should I generalize the helper functions, or do you think this configuration option should'nt be in winecfg at all?
Bye,
On Mon, 20 Jun 2005 20:46:00 +0200, Michael Jung wrote:
My question is: Am I doomed to implement the caching on my own for this key, should I generalize the helper functions, or do you think this configuration option should'nt be in winecfg at all?
Well, when would the user ever *not* want this registered?
thanks -mike
On Tuesday 21 June 2005 22:21, Mike Hearn wrote:
On Mon, 20 Jun 2005 20:46:00 +0200, Michael Jung wrote:
My question is: Am I doomed to implement the caching on my own for this key, should I generalize the helper functions, or do you think this configuration option should'nt be in winecfg at all?
Well, when would the user ever *not* want this registered?
If you register the extension, you will have the drive letters as well as the unix filesystem, which is somewhat redundant. Thus I thought we might better not register it by default and give the user the choice.
In my opinion, the best way would be to have an option under [shell32] which can be set to show the dos drives, the unix filesystem or both. This could be set globally or in AppDefaults (and since it would be under HKCU per user). This would mean some unixfs specific code in the MyComputer shell folder, but I guess there's no way around this, if we want to be able to hide the drive letters.
Bye,
On Wed, 22 Jun 2005 10:05:31 +0200, Michael Jung wrote:
In my opinion, the best way would be to have an option under [shell32] which can be set to show the dos drives, the unix filesystem or both. This could be set globally or in AppDefaults (and since it would be under HKCU per user). This would mean some unixfs specific code in the MyComputer shell folder, but I guess there's no way around this, if we want to be able to hide the drive letters.
Yeah, I think that would work better for the user. I'm not sure it should be a preference just to enable/disable unixfs as is, but if you can set it as an appdefault and hide the drive letters that'd be good.
One thing we might want to look into is integrating with the GNOME/GTK+ file roots. In the new file picker, it hides the UNIX by default and you have multiple roots like "DVD Drive", "Home", "Desktop", "Apps on SomeServer" and so on. I think that's a much more user-friendly way of doing it than exposing things like /mnt, /usr/, /etc to the user. That would be an additional unixfs feature I guess.
thanks -mike
On Wednesday 22 June 2005 13:08, Mike Hearn wrote:
One thing we might want to look into is integrating with the GNOME/GTK+ file roots. In the new file picker, it hides the UNIX by default and you have multiple roots like "DVD Drive", "Home", "Desktop", "Apps on SomeServer" and so on. I think that's a much more user-friendly way of doing it than exposing things like /mnt, /usr/, /etc to the user. That would be an additional unixfs feature I guess.
I think those should be handled by a MyDocuments shell folder, which should work with both shfldr_fs and shfldr_unixfs, whatever the user selected. So we would have multiple instances of the MyDocuments shell folder with different names (like Home, DVD Drive, ...) and different target directories (like /home/foobar or /cdrom), configured with winecfg (or perhaps read from the gnome config).
Bye,
Hi,
On Wednesday 22 June 2005 13:26, Michael Jung wrote:
On Wednesday 22 June 2005 13:08, Mike Hearn wrote:
One thing we might want to look into is integrating with the GNOME/GTK+ file roots. In the new file picker, it hides the UNIX by default and you have multiple roots like "DVD Drive", "Home", "Desktop", "Apps on SomeServer" and so on. I think that's a much more user-friendly way of doing it than exposing things like /mnt, /usr/, /etc to the user. That would be an additional unixfs feature I guess.
I think those should be handled by a MyDocuments shell folder, which should work with both shfldr_fs and shfldr_unixfs, whatever the user selected. So we would have multiple instances of the MyDocuments shell folder with different names (like Home, DVD Drive, ...) and different target directories (like /home/foobar or /cdrom), configured with winecfg (or perhaps read from the gnome config).
I found the website http://www.virtualplastic.net/html/ui_shell.html , which describes how to create virtual shell folders that link to locations in the filesystem. And then there's the freeware tool "Shell Object Editor" http://www.tropictech.de/modules/wfdownloads/viewcat.php?cid=1 , which does this stuff programmatically. I guess if we implement the necessary behaviour in wine, that would be all we need? (And perhaps some code in winecfg to read the gnome configuration and map it to virtual shell folders.)
Bye,
On Thu, 2005-06-23 at 09:16 +0200, Michael Jung wrote:
I found the website http://www.virtualplastic.net/html/ui_shell.html , which describes how to create virtual shell folders that link to locations in the filesystem. And then there's the freeware tool "Shell Object Editor" http://www.tropictech.de/modules/wfdownloads/viewcat.php?cid=1 , which does this stuff programmatically. I guess if we implement the necessary behaviour in wine, that would be all we need? (And perhaps some code in winecfg to read the gnome configuration and map it to virtual shell folders.)
Yes that sounds excellent. I'll start investigating how exactly we can read the locations GTK+ uses in its file picker (as that system works quite nicely and seems very easy to use).
thanks -mike
On Thu, 23 Jun 2005 20:47:07 +0100, Mike Hearn wrote:
Yes that sounds excellent. I'll start investigating how exactly we can read the locations GTK+ uses in its file picker (as that system works quite nicely and seems very easy to use).
The relevant function is here:
http://cvs.gnome.org/viewcvs/libgnomeui/file-chooser/gtkfilesystemgnomevfs.c...
It's gtk_file_system_gnome_vfs_list_volumes. Doesn't look too hard to dlopen libgnomevfs and fetch the right list. Harder part is integrating that with the shell32 VFS and getting things like icons right etc.
thanks -mike