Components Involved

… and what should happen with them.


Thunar consists of three major components: the application itself (Thunar), the file system abstraction layer (ThunarVFS) and the extension layer (Thunarx). The new ones in town are another VFS layer (GIO) and a set of extensions for it that implements various virtual file systems (GVfs).

ThunarVFS is used almost everywhere inside Thunar. All appearances in the code have to be replaced with equivalent (or improved) implementations based on GIO. In order to do that, we first have to collect information about all the ThunarVFS references in the code. Afterwards, we can determine what to do with each reference. This is done on the page ThunarVFS References in Thunar.


There's not much to say about ThunarVFS other than this: it has to die. See ThunarVFS References in Thunar for more information.


Thunarx has a few references to ThunarVFS in ThunarxFileInfo which have to be replaced with GIO equivalents. See ThunarVFS References in Thunar for more information.

Thunar Extensions

There is a number of extensions for Thunar, like

Most of them have references to ThunarVFS or rely on ThunarVFS to work (as is the case with thumbnailers which don't support GIO).

Thunar Volume Manager

thunar-volman uses ThunarVFS everywhere and will have to be ported to GIO as well. See ThunarVFS References in Thunar for more information.


GIO is supposed to replace ThunarVFS inside Thunar and Thunarx.


GVfs won't be used in Thunar directly. It's just a set of GIO extensions that does its job somwehere in the background. However, there are a few problems with GVfs that I'll have to address:

  • The HAL-based volume monitor uses gnome-mount for mounting volumes. There's no way to change that, so we'll probably have to implement our own volume monitor based on HAL or DeviceKit
  • GVfs depends on GConf and gnome-keyring. While gnome-keyring is very useful and we don't have our own equivalent, GConf clearly is something we don't want. Maybe we can find a way to get rid of GConf in GVfs or at least convince packagers of packaging the GConf stuff in GVfs seperately
preparation/components-involved.txt · Last modified: 2009/03/22 03:29 by jannis
Except where otherwise noted, content on this wiki is licensed under the following license:CC Attribution-Noncommercial-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki