The Thunar Extension Framework (thunarx) provides
      developers with an easy way to extend the basic functionality provided by
      the Thunar File Manager.
      The thunarx library includes interfaces that can
      be implemented by extensions for various purposes.
    
      It is based on the GLib Dynamic Type
      System and loads the extensions on demand to reduce the system resources
      allocated for the file manager process.
    
        The Thunar Extension Framework was developed with the following goals in mind:
      
- 
          It should be easy to extend the functionality of the file manager in certain
          ways.
        
- 
          The internals of the file manager should be hidden from the extensions to be
          able to maintain API/ABI compatibility for extensions over various major
          releases of the file manager.
        
- 
          Provide basic compatibility with the Nautilus Extension Framework,
          so vendors don't need to write several versions of their extensions for the various
          file managers. With the current implementation it should be easy to write a small
          wrapper library for generic extensions that can be loaded into both Thunar and
          Nautilus.
        
- 
          Extensions should not be loaded into memory until they are actually required to
          save system resources. This differs from the way Nautilus handles extensions and
          therefore people that already know how to write Nautilus extensions must be
          careful when writing extensions for Thunar, because Thunar actually unloads the
          extension when it's no longer needed. The GTypePlugin
          and GTypeModule
          sections in the GObject
          Reference Manual provide details about the handling of dynamic type plugins.
        
- 
          Permit developers to write extensions in languages other than C.