Question about current Shell Folder registry settings...

Michael Jung mjung at
Tue Nov 29 10:33:22 CST 2005

Hi Markus,

On Tuesday 29 November 2005 14:47, Markus Gömmel wrote:
> Can anybody tell me why "Desktop" is set to Z: instead of set to
> "c:\windows\profiles\mgoemmel\Desktop"?

The code that figures the paths for the 'Personal' and 'Desktop' shellfolders 
is in dlls/shell32/shellpath.c's _SHGetDefaultValue, starting at line 1261. 
It queries the $HOME environment variable, which holds the path that refers 
to the folder that conceptually represents what 'My Documents' is on Windows. 
The 'Desktop' folder in your $HOME is what conceptually matches the Windows 
Desktop folder (At least on KDE. And though I can't find it just yet, I guess 
that's the standard directory for the desktop).

> And as a second question: would it be ok to add "My Music", "My Pictures"
> and "My Video" to this registry key? I would do this if anybody would agree
> that it's ok, and would send the necessary patches. Some if my programs
> blames me about these three missing values. If yes, where should it point
> to? z:\home\mgoemmel\My Music? Or would it be not much better to also point
> "Personal" to "c:\windows\profiles\mgoemmel\My Documents" too?

You probably should add CSIDL_MY[MUSIC|VIDEO|PICTURES] to the 'folders' array 
in shellpath.c's _SHRegisterUserShellFolders function. This would generate 
the appropriate registry entries. With the current implementation those would 
all point to the user's home directory. In _SHGetDefaultValue, you could 
check for 'My Music', 'My Videos' and 'My Pictures' folders in $HOME and, if 
they are present, map to those instead.

Michael Jung
mjung at

More information about the wine-devel mailing list