Thunar’s plugin system is currently not well defined, and may not even appear in version 1.0. However, we can get a general idea at this point as to what interfaces can be implemented as plugins:
An attempt will be made to provide bindings for several different languages. Much care must be taken when creating Thunar plugins in C, because of the need to use GObject’s dynamic type registration, rather than the static registration that is used in the majority of cases.
The ThunarView interface, with its default implementation, provides a right-pane view of a directory. At minimum, Thunar will ship with an icon view and a details/list view. Plugins could provide a view for other types of content, for example:
Thunar will ship with a shortcut side pane (similar to the sidepane shown in GtkFileChooser) and a treeview side pane. Plugins could implement a variety of side panes, such as:
The ThunarLocationBar interface provides a means to extend or reimplement Thunar’s location bar.
This needs a bit more explanation.
The ThunarFile interface is an abstraction over a file, or an object that can be represented as a file.
The ThunarFolder interface is an abstraction over a folder (directory), or an object that can be represented as a folder.