Opened 15 years ago
Closed 15 years ago
#5245 closed enhancement (fixed)
Relocate Trash folder and make it multiuser-ready
Reported by: | anevilyak | Owned by: | anevilyak |
---|---|---|---|
Priority: | normal | Milestone: | R1 |
Component: | Kits/libtracker.so | Version: | R1/Development |
Keywords: | Cc: | ||
Blocked By: | Blocking: | ||
Platform: | All |
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.
Change History (4)
comment:1 by , 15 years ago
Description: | modified (diff) |
---|
comment:2 by , 15 years ago
Status: | new → assigned |
---|
comment:3 by , 15 years ago
Description: | modified (diff) |
---|
comment:4 by , 15 years ago
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Implemented in hrev35085, excepting the multiuser aspect - That should be properly handled once we actually make that jump since quite a few other things will need to be changed at that point anyways.