diff --git a/ChangeLog b/ChangeLog
index 61b46c89b7b9d8998bc2425d4a904e78dbec9f97..ee6a08a6f3db226656321e2c3bcfd1c54aa81ded 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2006-03-22	Benedikt Meurer <benny@xfce.org>
+
+	* docs/reference/thunarx/: Update the thunarx API documentation. 100%
+	  symbol docs coverage!
+
 2006-03-21	Benedikt Meurer <benny@xfce.org>
 
 	* plugins/thunar-uca/README: Fix typos.
diff --git a/docs/reference/thunarx/Makefile.am b/docs/reference/thunarx/Makefile.am
index 43b4e7cc71059b1143ef75c264b2ed8f47c9103c..d5c5f285d1239cd166a2282bad1634d392ad361d 100644
--- a/docs/reference/thunarx/Makefile.am
+++ b/docs/reference/thunarx/Makefile.am
@@ -36,6 +36,7 @@ EXTRA_HFILES=
 # Images to copy into HTML directory
 HTML_IMAGES =								\
 	$(srcdir)/images/abstraction.png				\
+	$(srcdir)/images/bulk-rename.png				\
 	$(srcdir)/images/menu-provider.png				\
 	$(srcdir)/images/say-hello.png
 
diff --git a/docs/reference/thunarx/images/bulk-rename.png b/docs/reference/thunarx/images/bulk-rename.png
new file mode 100644
index 0000000000000000000000000000000000000000..8a1f090545be45c3b77bf3b6690b74db2001b079
Binary files /dev/null and b/docs/reference/thunarx/images/bulk-rename.png differ
diff --git a/docs/reference/thunarx/thunarx-docs.sgml b/docs/reference/thunarx/thunarx-docs.sgml
index 903da5519d146dd06351016bfbf88555b28a394a..a292657a52eac9ca602172bc6274afa07650642f 100644
--- a/docs/reference/thunarx/thunarx-docs.sgml
+++ b/docs/reference/thunarx/thunarx-docs.sgml
@@ -9,6 +9,8 @@
 <!ENTITY ThunarxPropertyPageProvider SYSTEM "xml/thunarx-property-page-provider.xml">
 <!ENTITY ThunarxProviderFactory SYSTEM "xml/thunarx-provider-factory.xml">
 <!ENTITY ThunarxProviderPlugin SYSTEM "xml/thunarx-provider-plugin.xml">
+<!ENTITY ThunarxRenamer SYSTEM "xml/thunarx-renamer.xml">
+<!ENTITY ThunarxRenamerProvider SYSTEM "xml/thunarx-renamer-provider.xml">
 <!ENTITY thunarx-version-information SYSTEM "xml/thunarx-version-information.xml">
 
 <!ENTITY version SYSTEM "version.xml">
@@ -145,9 +147,11 @@
           include the <link linkend="ThunarxMenuProvider"><type>ThunarxMenuProvider</type></link> for adding context menu
           items to the file views, the <link
           linkend="ThunarxPropertyPageProvider"><type>ThunarxPropertyPageProvider</type></link> for adding pages to the
-          file properties dialog and the <link
+          file properties dialog, the <link
           linkend="ThunarxPreferencesProvider"><type>ThunarxPreferencesProvider</type></link> for adding actions to the
-          preferences section of the main menu.
+          preferences section of the main menu, and the <link
+          linkend="ThunarxRenamerProvider"><type>ThunarxRenamerProvider</type></link> for adding renamers to the bulk
+          rename dialog.
         </para>
       </sect2>
 
@@ -425,14 +429,18 @@ thunar_extension_initialize (ThunarxProviderPlugin *plugin)
       the file manager, the class <link
       linkend="ThunarxPropertyPage"><type>ThunarxPropertyPage</type></link>, which
       is the base class for widgets that can be added to the properties dialog by
-      extensions, and the interface <link
+      extensions, the interface <link
       linkend="ThunarxProviderPlugin"><type>ThunarxProviderPlugin</type></link>, which
-      hides the details of dynamic type registration from the extensions.
+      hides the details of dynamic type registration from the extensions, and the
+      class <link linkend="ThunarxRenamer"><type>ThunarxRenamer</type></link>, which
+      is the abstract base class for renamers that can be used in the bulk rename
+      dialog provided by Thunar to rename multiple files at once.
     </para>
 
     &ThunarxFileInfo;
     &ThunarxPropertyPage;
     &ThunarxProviderPlugin;
+    &ThunarxRenamer;
   </part>
 
   <part id="thunarx-providers">
@@ -459,6 +467,7 @@ thunar_extension_initialize (ThunarxProviderPlugin *plugin)
     &ThunarxMenuProvider;
     &ThunarxPropertyPageProvider;
     &ThunarxPreferencesProvider;
+    &ThunarxRenamerProvider;
   </part>
 
   <part id="thunarx-using-extensions">
diff --git a/docs/reference/thunarx/thunarx-sections.txt b/docs/reference/thunarx/thunarx-sections.txt
index 704e5cc90ef9804e0d36c99750509f0d3e9312f9..3dcd18902ed4bd81d6620ae11b9ca79cc1931e4a 100644
--- a/docs/reference/thunarx/thunarx-sections.txt
+++ b/docs/reference/thunarx/thunarx-sections.txt
@@ -141,6 +141,45 @@ THUNARX_PROVIDER_PLUGIN_GET_IFACE
 thunarx_provider_plugin_get_type
 </SECTION>
 
+<SECTION>
+<FILE>thunarx-renamer</FILE>
+<TITLE>ThunarxRenamer</TITLE>
+ThunarxRenamer
+ThunarxRenamerClass
+thunarx_renamer_get_help_url
+thunarx_renamer_set_help_url
+thunarx_renamer_get_name
+thunarx_renamer_set_name
+thunarx_renamer_process
+thunarx_renamer_load
+thunarx_renamer_save
+thunarx_renamer_changed
+<SUBSECTION Standard>
+THUNARX_TYPE_RENAMER
+THUNARX_RENAMER
+THUNARX_RENAMER_CLASS
+THUNARX_IS_RENAMER
+THUNARX_IS_RENAMER_CLASS
+THUNARX_RENAMER_GET_CLASS
+<SUBSECTION Private>
+thunarx_renamer_get_type
+</SECTION>
+
+<SECTION>
+<FILE>thunarx-renamer-provider</FILE>
+<TITLE>ThunarxRenamerProvider</TITLE>
+ThunarxRenamerProvider
+ThunarxRenamerProviderIface
+thunarx_renamer_provider_get_renamers
+<SUBSECTION Standard>
+THUNARX_TYPE_RENAMER_PROVIDER
+THUNARX_RENAMER_PROVIDER
+THUNARX_IS_RENAMER_PROVIDER
+THUNARX_RENAMER_PROVIDER_GET_IFACE
+<SUBSECTION Private>
+thunarx_renamer_provider_get_type
+</SECTION>
+
 <SECTION>
 <FILE>thunarx-version-information</FILE>
 <TITLE>Variables and functions to check the library version</TITLE>
diff --git a/docs/reference/thunarx/thunarx.types b/docs/reference/thunarx/thunarx.types
index 439681791267ba84750f311cf7d50b98c95deb85..588ee869c99fc885f4c4675ee2ded664c93d0491 100644
--- a/docs/reference/thunarx/thunarx.types
+++ b/docs/reference/thunarx/thunarx.types
@@ -7,3 +7,6 @@ thunarx_property_page_get_type
 thunarx_property_page_provider_get_type
 thunarx_provider_factory_get_type
 thunarx_provider_plugin_get_type
+thunarx_renamer_get_type
+thunarx_renamer_provider_get_type
+
diff --git a/docs/reference/thunarx/tmpl/thunarx-property-page-provider.sgml b/docs/reference/thunarx/tmpl/thunarx-property-page-provider.sgml
index d744765c3a202d8f951e8d7a81f6d4e090211cf7..82efbf0101d4f5e21fdfac8783a29972772ba50b 100644
--- a/docs/reference/thunarx/tmpl/thunarx-property-page-provider.sgml
+++ b/docs/reference/thunarx/tmpl/thunarx-property-page-provider.sgml
@@ -33,7 +33,7 @@ Stable
 	additional pages for the file properties dialog.
 </para>
 
-@get_pages: See thunarx_property_page_provider_get_pages().
+@get_pages: see thunarx_property_page_provider_get_pages().
 
 <!-- ##### FUNCTION thunarx_property_page_provider_get_pages ##### -->
 <para>
diff --git a/docs/reference/thunarx/tmpl/thunarx-property-page.sgml b/docs/reference/thunarx/tmpl/thunarx-property-page.sgml
index 6e052554b99b81e83569222fbc5edd997867fb66..932f077e702ce85ca5065cb91b3c82bb1383cbde 100644
--- a/docs/reference/thunarx/tmpl/thunarx-property-page.sgml
+++ b/docs/reference/thunarx/tmpl/thunarx-property-page.sgml
@@ -2,7 +2,7 @@
 ThunarxPropertyPage
 
 <!-- ##### SECTION Short_Description ##### -->
-Base class for pages added to the properties dialog
+The base class for pages added to the properties dialog
 
 <!-- ##### SECTION Long_Description ##### -->
 <para>
diff --git a/docs/reference/thunarx/tmpl/thunarx-provider-factory.sgml b/docs/reference/thunarx/tmpl/thunarx-provider-factory.sgml
index 2372faea47e7c51c070be81c816252ed12d96655..d7ce7601b0bbe674f6e5817851468a3382e724fd 100644
--- a/docs/reference/thunarx/tmpl/thunarx-provider-factory.sgml
+++ b/docs/reference/thunarx/tmpl/thunarx-provider-factory.sgml
@@ -2,24 +2,27 @@
 ThunarxProviderFactory
 
 <!-- ##### SECTION Short_Description ##### -->
-Provider factory support
+The provider factory support for applications
 
 <!-- ##### SECTION Long_Description ##### -->
 <para>
-
+  The #ThunarxProviderFactory class allows applications to use Thunar plugins. It handles
+  the loading of the installed extensions and instantiates providers for the application.
+  For example, Thunar uses this class to access the installed extensions.
 </para>
 
 <!-- ##### SECTION See_Also ##### -->
 <para>
-  #ThunarxMenuProvider, #ThunarxPropertyPageProvider
+  #ThunarxMenuProvider, #ThunarxPropertyPageProvider, #ThunarxRenamerProvider
 </para>
 
 <!-- ##### SECTION Stability_Level ##### -->
-
+Stable
 
 <!-- ##### STRUCT ThunarxProviderFactory ##### -->
 <para>
-
+  The #ThunarxProviderFactory struct contains only private data. It should
+  only be accessed with the methods described below.
 </para>
 
 
diff --git a/docs/reference/thunarx/tmpl/thunarx-provider-plugin.sgml b/docs/reference/thunarx/tmpl/thunarx-provider-plugin.sgml
index 7ef467f2461d35221f11a030050d21ba60fe0eb9..2dbab0de62291146ccc43a204a7935026721fda8 100644
--- a/docs/reference/thunarx/tmpl/thunarx-provider-plugin.sgml
+++ b/docs/reference/thunarx/tmpl/thunarx-provider-plugin.sgml
@@ -2,7 +2,7 @@
 ThunarxProviderPlugin
 
 <!-- ##### SECTION Short_Description ##### -->
-Plugin type registration
+The interface to the plugin type registration
 
 <!-- ##### SECTION Long_Description ##### -->
 <para>
@@ -21,7 +21,8 @@ Stable
 
 <!-- ##### STRUCT ThunarxProviderPlugin ##### -->
 <para>
-
+  The #ThunarxProviderPlugin struct is just a typedef for
+  the interface instance type.
 </para>
 
 
diff --git a/docs/reference/thunarx/tmpl/thunarx-renamer-provider.sgml b/docs/reference/thunarx/tmpl/thunarx-renamer-provider.sgml
new file mode 100644
index 0000000000000000000000000000000000000000..9574857e7bf0ff440a47722af245e3976e121535
--- /dev/null
+++ b/docs/reference/thunarx/tmpl/thunarx-renamer-provider.sgml
@@ -0,0 +1,45 @@
+<!-- ##### SECTION Title ##### -->
+ThunarxRenamerProvider
+
+<!-- ##### SECTION Short_Description ##### -->
+The interface to extensions that provide additional bulk renamers
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+  The <interface>ThunarxRenamerProvider</interface> interface is implemented by
+  extensions which provide additional bulk renamers that should be used by the
+  bulk rename dialog in Thunar.
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+  The description of the abstract base class
+  <link linkend="ThunarxRenamer"><type>ThunarxRenamer</type></link>.
+</para>
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### STRUCT ThunarxRenamerProvider ##### -->
+<para>
+  Bulk renamer provider type.
+</para>
+
+
+<!-- ##### STRUCT ThunarxRenamerProviderIface ##### -->
+<para>
+  Interface with virtual methods implemented by extensions that provide
+  additional bulk renamers for the integrated bulk renamer in Thunar.
+</para>
+
+@get_renamers: see thunarx_renamer_provider_get_renamers().
+
+<!-- ##### FUNCTION thunarx_renamer_provider_get_renamers ##### -->
+<para>
+
+</para>
+
+@provider: 
+@Returns: 
+
+
diff --git a/docs/reference/thunarx/tmpl/thunarx-renamer.sgml b/docs/reference/thunarx/tmpl/thunarx-renamer.sgml
new file mode 100644
index 0000000000000000000000000000000000000000..496aea20676005aa264ce0bff9c93e5f1187a698
--- /dev/null
+++ b/docs/reference/thunarx/tmpl/thunarx-renamer.sgml
@@ -0,0 +1,154 @@
+<!-- ##### SECTION Title ##### -->
+ThunarxRenamer
+
+<!-- ##### SECTION Short_Description ##### -->
+The abstract base class for bulk renamers
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+  The abstract base class <type>ThunarxRenamer</type> is implemented by
+  extensions which provide additional bulk renamers that should be used in
+  the bulk rename dialog.
+</para>
+
+<para>
+  Derived classes must override the thunarx_renamer_process() method, which
+  is called by the bulk rename dialog for every file to generate a new name. For
+  example, the <type>ThunarSbrReplaceRenamer</type> class included in the
+  <literal>thunar-sbr</literal> plugin (which is part of the Thunar distribution)
+  provides a bulk renamer, named <emphasis>Search &amp; Replace</emphasis>,
+  which allows the user to rename multiple files by searching for a pattern in
+  each file name and, if the pattern is found, replacing it with the specified
+  replacement text.
+</para>
+
+<para>
+  <inlinegraphic fileref="bulk-rename.png" format="PNG" />
+</para>
+
+<para>
+  The active <type>ThunarxRenamer</type>s user interface is displayed in a frame
+  below the file list, as shown in the screenshot above. Derived classes should try
+  to limit the number of widgets displayed in the main user interface. For example,
+  if you have more than six settings, you should consider adding an <guibutton>Advanced</guibutton>,
+  which opens a dialog with the additional settings.
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+  The description of the <link linkend="ThunarxRenamerProvider"><type>ThunarxRenamerProvider</type></link>
+  interface.
+</para>
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### STRUCT ThunarxRenamer ##### -->
+<para>
+  Abstract base instance type for bulk renamers.
+</para>
+
+
+<!-- ##### SIGNAL ThunarxRenamer::changed ##### -->
+<para>
+
+</para>
+
+@thunarxrenamer: the object which received the signal.
+
+<!-- ##### ARG ThunarxRenamer:help-url ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG ThunarxRenamer:name ##### -->
+<para>
+
+</para>
+
+<!-- ##### STRUCT ThunarxRenamerClass ##### -->
+<para>
+  Abstract base class with virtual methods implemented by extensions
+  that provide additional bulk renamers for the integrated bulk
+  rename module in Thunar.
+</para>
+
+@process: see thunarx_renamer_process().
+@load:    see thunarx_renamer_load().
+@save:    see thunarx_renamer_save().
+@changed: see thunarx_renamer_changed().
+
+<!-- ##### FUNCTION thunarx_renamer_get_help_url ##### -->
+<para>
+
+</para>
+
+@renamer: 
+@Returns: 
+
+
+<!-- ##### FUNCTION thunarx_renamer_set_help_url ##### -->
+<para>
+
+</para>
+
+@renamer: 
+@help_url: 
+
+
+<!-- ##### FUNCTION thunarx_renamer_get_name ##### -->
+<para>
+
+</para>
+
+@renamer: 
+@Returns: 
+
+
+<!-- ##### FUNCTION thunarx_renamer_set_name ##### -->
+<para>
+
+</para>
+
+@renamer: 
+@name: 
+
+
+<!-- ##### FUNCTION thunarx_renamer_process ##### -->
+<para>
+
+</para>
+
+@renamer: 
+@file: 
+@text: 
+@index: 
+@Returns: 
+
+
+<!-- ##### FUNCTION thunarx_renamer_load ##### -->
+<para>
+
+</para>
+
+@renamer: 
+@settings: 
+
+
+<!-- ##### FUNCTION thunarx_renamer_save ##### -->
+<para>
+
+</para>
+
+@renamer: 
+@settings: 
+
+
+<!-- ##### FUNCTION thunarx_renamer_changed ##### -->
+<para>
+
+</para>
+
+@renamer: 
+
+