Other pages to look at:
The Trash System is probably one of the most interesting aspects of the file manager, and a proper implementation depends heavily on other components of the file manager, with a focus on these two components:
stat()-cache)$topdirs, that can hold .Trash and/or .Trash-$uid directoriesThe Volume Manager should also offer some kind of notification when new devices show up (e.g. an USB stick), but it should not depend on unportable services such as HAL.
In addition, the Trash System depends on the file managers ability to
files, which needs to be integrated with the file info management to support instant notification to the user.
It is very important to implement the Trash System according to the FreeDesktop.org Trash Specification to be compatible with other major desktops such as KDE and Gnome.
The Main View is the heart of the Thunar window, it displays the contents of the folder you are looking (or the results of a desktop search in the future). The Main View should support atleast the
styles. And optionally, it could support the
styles, but this has very low priority.
There’ll be a common interface ThunarView, which will be implemented
by the ThunarIconView and ThunarListView classes. All views will
be based on a simple backend interface ThunarModel. This interface
will be implemented by atleast
ThunarFolderModel, which represents a folder (currently I think this should just be a proxy to the stat-cache tree).ThunarTrashModel, which provides an interface to the Trash Systemand maybe additional classes.
Since parts of the functionality of the main UI depend on the currently
active ThunarModel (like the Empty Trash action), there should be
a way to query models for additional actions.
A diagram that represents the basic idea:
The Thumbnail System should display thumbnails of all files and should create/update thumbnails of supported types (query GdkPixbuf). This allows third party tools to generate thumbnails for foreign file types - such as spreadsheets or PDF files - that are not supported by GdkPixbuf, and the file manager can display them to the user.