StandardDirectories
The purpose of this project is to to map the standard Windows directories (My Documents, Desktop, Recycle Bin) to their Unix equivalents ($HOME, Desktop, Trash).
My Documents
This now defaults to $HOME (location can be overriden with winecfg). The Registry-Key is like in Windows: HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders\Personal
Desktop
The desktop directory now maps to ~/Desktop if it exists (location can be overriden with winecfg). This works fine for normal files, but .desktop files and .kdelnk files are treated as normal files rather than links.
The Desktop folder is implemented by a COM object in dlls/shell32/shfldr_desktop.c. For extra credit, get it to parse and handle .desktop and .kdelnk files.
File Dialogs
The file dialogs should look a bit more like the Windows ones. My Documents should show up underneath Desktop, for example, even though in the filesystem, the opposite is true. To do that,
An implementation of IShellFolder needs to be made for CLSID_MyDocuments.
- It needs to filter the Desktop folder out of its children, to avoid an infinitely recursing directory listing.
CLSID_MyDocuments needs to be added to HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\Desktop\NameSpace.
Trash
Same as for Desktop, but to the standard Trash functionality:
StevenEdwards has submitted a patch for this already:
MikoĆajZalewski is also working on this for the SummerOfCode
