Relocate Trash folder and make it multiuser-ready
|Reported by:||anevilyak||Owned by:||anevilyak|
Description (last modified by )
The current Trash implementation is somewhat less than ideal for several reasons:
1) It requires the creation of /home/Desktop on every non-boot volume.
2) as a consequence of the first point it isn't really multiuser-safe.
A proposed alternative is to move the Trash folder to the root dir of each volume, and have it segregated into per-user subdirectories. This will require changes to find_directory() as well as Tracker's FSCreateTrashDir / FSGetTrashDir and probably DesktopDirEntryIterator. Also note that this will mean users will wind up with a dead Trash folder in their Desktop dir, which may or may not be problematic. Note that if we want the directory to be hidden when browsing the volume root, we will have to re-enable respecting the fInvisible attribute of PoseInfo, which has caveats for those multibooting with other BeOS variants as mentioned in hrev35040.
A possible workaround for the above would be to add a user preference specifying whether or not to respect the invisible attribute, which would also deal with the aforementioned caveats. However, if we go that route, it might also be nice to extend Get Info to allow the user to mark/unmark a file as invisible themselves.