Opened 14 years ago

Closed 14 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 anevilyak)

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 anevilyak, 14 years ago

Description: modified (diff)

comment:2 by anevilyak, 14 years ago

Status: newassigned

comment:3 by anevilyak, 14 years ago

Description: modified (diff)

comment:4 by anevilyak, 14 years ago

Resolution: fixed
Status: assignedclosed

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.

Note: See TracTickets for help on using tickets.