Hi!
I would want to implement a change in where the wine prefix is assumed by default.
The current behavior of only considering WINEPREFIX is cumbersome and risky. Slip a finger, forget a letter and you end running a potential disastrous command in the wrong prefix. I ruined my main prefix by accidenatlly running "winetricks ie6" in it...
To fix that I use a wrapper script (unimaginatively named "win") that detects the proper prefix from the current directory and calls wine or other programs (winecfg, wineserver, winetricks, etc.) after setting WINEPREFIX. I am satisfied by this wrapper but has several disadvantages: - You need to remember to run it instead of wine. - You may paste a command from somewhere and forget to add "win" in front. - Needs to be distributed.
The proposed solution is to incorporate the prefix detection logic in wine itself so no wrapper is needed.
The modified behavior would be like this: - If WINEPREFIX is set obey that, user knows better. This is also required to create a new prefix. - Starting from current working directory descend towards root looking for a directory that: 1. Has a dosdevices/ subdirectory and a system.reg file or 2. Has a .wine symlink pointing to a directory matching condition 1. or 3. Holds a .wine regular file whose content is the name of a directory matching condition 1. - If a valid prefix (matches condition 1. above) is found use it for wine - Else use the default ~/.wine
The extra checks 2. and 3. are to be able to handle the case when the current directory is on a path that is symlinked from inside the prefix. In particular test 3. is used when the files are on a FAT (or other symlink incapable) partition. I have several wine prefixes whose "Program Files" is located on a much larger FAT32 partition shared with you know what.
What do you think about this? Should I go on coding it?
Paul Chitescu