thunar 4.20.7 upstream

Tree of tag thunar-4.20.7 (commit df0e054) from https://gitlab.xfce.org/xfce/thunar.
Upstream history is not included here to keep the repository small.
This commit is contained in:
4aiman 2026-01-23 17:59:49 +01:00
commit df58603323
432 changed files with 494671 additions and 0 deletions

22
docs/Makefile.am Normal file
View file

@ -0,0 +1,22 @@
SUBDIRS = \
design \
papers \
reference
doc_DATA = \
README.gtkrc
man_MANS = \
Thunar.1
if MAINTAINER_MODE
%.1: %.xml
xsltproc -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
endif
EXTRA_DIST = \
$(doc_DATA) \
$(man_MANS) \
Thunar.xml
# vi:set ts=8 sw=8 noet ai nocindent syntax=automake:

83
docs/README.gtkrc Normal file
View file

@ -0,0 +1,83 @@
Thunar GTK Style Properties
===========================
Several user interface elements in Thunar are customizable via the standard
GTK style mechanism. Besides the customization provided by the GTK widgets,
that are used in Thunar, there are a bunch of additional settings that can
be customized via the GTK theme or the ~/.gtkrc-2.0 file in the users home
directory.
The following list includes the customizable widgets and the settings that
can be customized for this widgets.
ThunarAbstractIconView
----------------------
The ThunarAbstractIconView widget class is the base class for both the
ThunarIconView (the "Icon View") and the ThunarCompactView (the "Compact
List View"). It provides two additional settings that can be customized:
* column-spacing (0...)
The additional space inserted between columns in the icon and
compact view. Defaults to 6 for both the icon and the compact
view.
* row-spacing (0...)
The additional space inserted between rows in the icon and
compact view. Defaults to 6 for the icon view and 0 for the
compact view.
For example, say you want to reduce the additional spacing for the icon view
to 3 pixel, then you can put the following lines in the file ~/.gtkrc-2.0 in
your home directory (just create the file if it is not already present):
style "thunar-icon-view-reduced-style"
{
ThunarIconView::column-spacing = 3
ThunarIconView::row-spacing = 3
}
class "ThunarIconView" style "thunar-icon-view-reduced-style"
ThunarPathEntry
---------------
The ThunarPathEntry widget class is used for the location bar, both in the
traditional location selector and the "Open Location" dialog. The path entry
displays an icon right before the path, whose size can be customized via the
* icon-size (16/22/24/33/36/48/64/72/96/128/192)
style property. For example to increase the size to 24 pixel, you can put the
following lines in the file ~/.gtkrc-2.0:
style "thunar-path-entry-increased-style"
{
ThunarPathEntry::icon-size = 24
}
class "ThunarPathEntry" style "thunar-path-entry-increased-style"
You should however make sure that your icon theme supports the icon size,
otherwise you might end up with ugly up/down-scaled icons.
ThunarLocationButtons
---------------------
The ThunarLocationButtons widget class is used for the path bar style loca-
tion selector. It provides the following customizable style properties:
* spacing (0...)
The amount of space inserted between the path buttons. Defaults to
3 pixels.
Additional information can be found on the Thunar Project Wiki:
https://docs.xfce.org/xfce/thunar/hidden-settings

133
docs/Thunar.xml Normal file
View file

@ -0,0 +1,133 @@
<!--
Copyright (c) 2006 Benedikt Meurer <benny@xfce.org>
-->
<refentry id="Thunar">
<refmeta>
<refentrytitle>Thunar</refentrytitle>
<refmiscinfo class="manual">User Commands</refmiscinfo>
<refmiscinfo class="source"> </refmiscinfo>
<manvolnum>1</manvolnum>
</refmeta>
<refnamediv>
<refname>Thunar</refname>
<refpurpose>File Manager for the Xfce Desktop Environment</refpurpose>
</refnamediv>
<refsynopsisdiv>
<cmdsynopsis>
<command>Thunar</command>
<arg choice="opt">options</arg>
<arg rep="repeat">
<arg>URI</arg>
</arg>
</cmdsynopsis>
<cmdsynopsis>
<command>Thunar</command>
<arg choice="opt">options</arg>
<arg choice="plain">--bulk-rename</arg>
<arg rep="repeat">
<arg>URI</arg>
</arg>
</cmdsynopsis>
<cmdsynopsis>
<command>Thunar</command>
<arg choice="opt">options</arg>
<arg choice="plain">--quit</arg>
</cmdsynopsis>
</refsynopsisdiv>
<refsect1>
<title>Description</title>
<para>
<command>Thunar</command> is a fast and easy to use file manager for the Xfce Desktop Environment. It
has been designed from the ground up to be lighweight with special focus on usability. Its user
interface is clean and intuitive, and does not include any confusing or useless options.
</para>
</refsect1>
<refsect1>
<title>Invocation</title>
<para>
<command>Thunar</command> takes a list of <replaceable>URI</replaceable>s for folders that should be
opened in new file manager windows or files that should be selected in new file manager windows.
The <replaceable>URI</replaceable>s may be specified as either <emphasis role="bold">file:</emphasis>
or <emphasis role="bold">trash:</emphasis> URIs, absolute paths or paths relative to the current directory
from which <command>Thunar</command> is being invoked. If no <replaceable>URI</replaceable>s are specified,
the current folder will be opened in a new file manager window.
</para>
<para>
When the <option>--bulk-rename</option> option is specified no file managers windows will be opened, but instead
the <replaceable>URI</replaceable>s will be passed to the bulk renamer. The bulk renamer allows one to
rename several files or folders at once using different renamer modules.
</para>
<refsect2>
<title>Options</title>
<variablelist>
<varlistentry>
<term><option>-?</option>, <option>--help</option></term>
<listitem>
<para>Print brief help and exit.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-V</option>, <option>--version</option></term>
<listitem>
<para>Print version information and exit.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-B</option>, <option>--bulk-rename</option></term>
<listitem>
<para>
Open the <replaceable>URI</replaceable>s in a standalone window of the bulk renamer.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--daemon</option></term>
<listitem>
<para>
Do not terminate the <command>Thunar</command> instance when the last window is closed, but keep
it running to speed up opening new windows later on. This is the default when spawning <command>Thunar</command>
as part of the default Xfce session or when using D-Bus activation.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--display=DISPLAY</option></term>
<listitem>
<para>Use the specified X <option>DISPLAY</option> for the user interface.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-q</option>, <option>--quit</option></term>
<listitem>
<para>
Terminate any <command>Thunar</command> instance running in the background (spawned using the
<option>--daemon</option> option). This command should be used whenever <command>Thunar</command>
is upgraded to a new version to ensure that no old instance is reused.
</para>
</listitem>
</varlistentry>
</variablelist>
</refsect2>
</refsect1>
<refsect1>
<title>Author</title>
<para>
<command>Thunar</command> was written by Benedikt Meurer <email>benny@xfce.org</email>.
</para>
<para>
This manual page was written by Benedikt Meurer <email>benny@xfce.org</email>.
</para>
</refsect1>
</refentry>

5
docs/design/Makefile.am Normal file
View file

@ -0,0 +1,5 @@
EXTRA_DIST = \
mime.xmi \
overview.xmi
# vi:set ts=8 sw=8 noet ai nocindent syntax=automake:

2118
docs/design/mime.xmi Normal file

File diff suppressed because it is too large Load diff

15653
docs/design/overview.xmi Normal file

File diff suppressed because it is too large Load diff

Binary file not shown.

4
docs/papers/Makefile.am Normal file
View file

@ -0,0 +1,4 @@
EXTRA_DIST = \
HackingOnThunar.odt
# vi:set ts=8 sw=8 noet ai nocindent syntax=automake:

View file

@ -0,0 +1,5 @@
SUBDIRS = \
thunar \
thunarx
# vi:set ts=8 sw=8 noet ai nocindent syntax=automake:

View file

@ -0,0 +1,82 @@
# The name of the module.
DOC_MODULE=thunar
# The top-level SGML file.
DOC_MAIN_SGML_FILE=$(DOC_MODULE)-docs.xml
# Extra options to supply to gtkdoc-scan
SCAN_OPTIONS=--deprecated-guards="EXO_DISABLE_DEPRECATED" --rebuild-sections --rebuild-types
# The directory containing the source code. Relative to $(srcdir)
DOC_SOURCE_DIR=$(top_srcdir)/thunar
# Extra options to supply to gtkdoc-mkdb
MKDB_OPTIONS=--xml-mode --output-format=xml
# Extra options to supply to gtkdoc-fixref
FIXXREF_OPTIONS=
# Used for dependencies
HFILE_GLOB=$(top_srcdir)/thunar/*.h
CFILE_GLOB=$(top_srcdir)/thunar/*.c
# Header files to ignore when scanning
IGNORE_HFILES= \
thunar-private.h \
thunar-dbus-freedesktop-interfaces.h \
thunar-dbus-service-infos.h \
thunar-marshal.h \
stamp-thunar-marshal.h \
thunar-thumbnailer-proxy.h \
thunar-thumbnail-cache-proxy.h \
thunar-resources.h
# Extra files to add when scanning (relative to $srcdir)
EXTRA_HFILES=
# Images to copy into HTML directory
HTML_IMAGES =
# Extra SGML files that are included by DOC_MAIN_SGML_FILE
content_files =
# CFLAGS and LDFLAGS for compiling scan program. Only needed
# if $(DOC_MODULE).types is non-empty.
GTKDOC_CFLAGS = \
-I$(top_srcdir) \
-I$(top_srcdir)/thunar \
-I$(top_builddir) \
$(GTK_CFLAGS) \
$(GTK_DOC_EXTRA_CFLAGS) \
$(EXO_CFLAGS) \
$(GIO_CFLAGS) \
$(GTHREAD_CFLAGS) \
$(GUDEV_CFLAGS) \
$(LIBNOTIFY_CFLAGS) \
$(LIBSM_CFLAGS) \
$(LIBXFCE4UI_CFLAGS) \
$(LIBXFCE4KBD_PRIVATE_CFLAGS) \
$(XFCONF_CFLAGS) \
$(PANGO_CFLAGS) \
$(PLATFORM_CFLAGS)
GTKDOC_LIBS = \
$(GTK_LIBS) \
$(top_builddir)/thunarx/libthunarx-$(THUNARX_VERSION_API).la \
$(top_builddir)/thunar/libthunar.a \
$(EXO_LIBS) \
$(GIO_LIBS) \
$(GTHREAD_LIBS) \
$(GMODULE_LIBS) \
$(GUDEV_LIBS) \
$(LIBNOTIFY_LIBS) \
$(LIBSM_LIBS) \
$(LIBXFCE4UI_LIBS) \
$(LIBXFCE4KBD_PRIVATE_LIBS) \
$(XFCONF_LIBS) \
$(PANGO_LIBS)
include $(top_srcdir)/gtk-doc.make
# vi:set ts=8 sw=8 noet ai nocindent syntax=automake:

View file

@ -0,0 +1,275 @@
<?xml version="1.0"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"
[
<!ENTITY ThunarNotify SYSTEM "xml/thunar-notify.xml">
<!ENTITY ThunarMenu SYSTEM "xml/thunar-menu.xml">
<!ENTITY ThunarDbusService SYSTEM "xml/thunar-dbus-service.xml">
<!ENTITY ThunarRenamerProgress SYSTEM "xml/thunar-renamer-progress.xml">
<!ENTITY ThunarGioExtensions SYSTEM "xml/thunar-gio-extensions.xml">
<!ENTITY ThunarPropertiesDialog SYSTEM "xml/thunar-properties-dialog.xml">
<!ENTITY ThunarShortcutsModel SYSTEM "xml/thunar-shortcuts-model.xml">
<!ENTITY ThunarIconRenderer SYSTEM "xml/thunar-icon-renderer.xml">
<!ENTITY ThunarIoScanDirectory SYSTEM "xml/thunar-io-scan-directory.xml">
<!ENTITY ThunarShortcutsIconRenderer SYSTEM "xml/thunar-shortcuts-icon-renderer.xml">
<!ENTITY ThunarPreferencesDialog SYSTEM "xml/thunar-preferences-dialog.xml">
<!ENTITY ThunarTreePane SYSTEM "xml/thunar-tree-pane.xml">
<!ENTITY ThunarApplication SYSTEM "xml/thunar-application.xml">
<!ENTITY ThunarRenamerPair SYSTEM "xml/thunar-renamer-pair.xml">
<!ENTITY ThunarShortcutsView SYSTEM "xml/thunar-shortcuts-view.xml">
<!ENTITY ThunarLocationButtons SYSTEM "xml/thunar-location-buttons.xml">
<!ENTITY ThunarBrowser SYSTEM "xml/thunar-browser.xml">
<!ENTITY ThunarSendtoModel SYSTEM "xml/thunar-sendto-model.xml">
<!ENTITY ThunarUtil SYSTEM "xml/thunar-util.xml">
<!ENTITY ThunarPreferences SYSTEM "xml/thunar-preferences.xml">
<!ENTITY ThunarStandardView SYSTEM "xml/thunar-standard-view.xml">
<!ENTITY ThunarHistory SYSTEM "xml/thunar-history.xml">
<!ENTITY ThunarSidePane SYSTEM "xml/thunar-side-pane.xml">
<!ENTITY ThunarEnumTypes SYSTEM "xml/thunar-enum-types.xml">
<!ENTITY ThunarGobjectExtensions SYSTEM "xml/thunar-gobject-extensions.xml">
<!ENTITY ThunarDetailsView SYSTEM "xml/thunar-details-view.xml">
<!ENTITY ThunarDialogs SYSTEM "xml/thunar-dialogs.xml">
<!ENTITY ThunarImage SYSTEM "xml/thunar-image.xml">
<!ENTITY ThunarUser SYSTEM "xml/thunar-user.xml">
<!ENTITY ThunarLocationButton SYSTEM "xml/thunar-location-button.xml">
<!ENTITY ThunarRenamerModel SYSTEM "xml/thunar-renamer-model.xml">
<!ENTITY ThunarSizeLabel SYSTEM "xml/thunar-size-label.xml">
<!ENTITY ThunarClipboardManager SYSTEM "xml/thunar-clipboard-manager.xml">
<!ENTITY ThunarAbstractDialog SYSTEM "xml/thunar-abstract-dialog.xml">
<!ENTITY ThunarAbstractIconView SYSTEM "xml/thunar-abstract-icon-view.xml">
<!ENTITY ThunarDeviceMonitor SYSTEM "xml/thunar-device-monitor.xml">
<!ENTITY ThunarIoJobs SYSTEM "xml/thunar-io-jobs.xml">
<!ENTITY ThunarDeepCountJob SYSTEM "xml/thunar-deep-count-job.xml">
<!ENTITY ThunarIconView SYSTEM "xml/thunar-icon-view.xml">
<!ENTITY ThunarChooserButton SYSTEM "xml/thunar-chooser-button.xml">
<!ENTITY ThunarPermissionsChooser SYSTEM "xml/thunar-permissions-chooser.xml">
<!ENTITY ThunarFolder SYSTEM "xml/thunar-folder.xml">
<!ENTITY ThunarIoJobsUtil SYSTEM "xml/thunar-io-jobs-util.xml">
<!ENTITY ThunarRenamerDialog SYSTEM "xml/thunar-renamer-dialog.xml">
<!ENTITY ThunarGtkExtensions SYSTEM "xml/thunar-gtk-extensions.xml">
<!ENTITY ThunarLocationEntry SYSTEM "xml/thunar-location-entry.xml">
<!ENTITY ThunarDnd SYSTEM "xml/thunar-dnd.xml">
<!ENTITY ThunarActionManager SYSTEM "xml/thunar-action-manager.xml">
<!ENTITY ThunarEmblemChooser SYSTEM "xml/thunar-emblem-chooser.xml">
<!ENTITY ThunarSessionClient SYSTEM "xml/thunar-session-client.xml">
<!ENTITY ThunarShortcutsPane SYSTEM "xml/thunar-shortcuts-pane.xml">
<!ENTITY ThunarJob SYSTEM "xml/thunar-job.xml">
<!ENTITY ThunarJobOperation SYSTEM "xml/thunar-job-operation.xml">
<!ENTITY ThunarJobOperation SYSTEM "xml/thunar-job-operation-history.xml">
<!ENTITY ThunarPangoExtensions SYSTEM "xml/thunar-pango-extensions.xml">
<!ENTITY ThunarStatusbar SYSTEM "xml/thunar-statusbar.xml">
<!ENTITY ThunarLocationBar SYSTEM "xml/thunar-location-bar.xml">
<!ENTITY ThunarColumnEditor SYSTEM "xml/thunar-column-editor.xml">
<!ENTITY ThunarListModel SYSTEM "xml/thunar-list-model.xml">
<!ENTITY ThunarIce SYSTEM "xml/thunar-ice.xml">
<!ENTITY ThunarWindow SYSTEM "xml/thunar-window.xml">
<!ENTITY ThunarFile SYSTEM "xml/thunar-file.xml">
<!ENTITY ThunarIconFactory SYSTEM "xml/thunar-icon-factory.xml">
<!ENTITY ThunarPathEntry SYSTEM "xml/thunar-path-entry.xml">
<!ENTITY ThunarSimpleJob SYSTEM "xml/thunar-simple-job.xml">
<!ENTITY ThunarChooserDialog SYSTEM "xml/thunar-chooser-dialog.xml">
<!ENTITY ThunarComponent SYSTEM "xml/thunar-component.xml">
<!ENTITY ThunarTransferJob SYSTEM "xml/thunar-transfer-job.xml">
<!ENTITY ThunarTreeView SYSTEM "xml/thunar-tree-view.xml">
<!ENTITY ThunarDevice SYSTEM "xml/thunar-device.xml">
<!ENTITY ThunarView SYSTEM "xml/thunar-view.xml">
<!ENTITY ThunarChooserModel SYSTEM "xml/thunar-chooser-model.xml">
<!ENTITY ThunarNavigator SYSTEM "xml/thunar-navigator.xml">
<!ENTITY ThunarCompactView SYSTEM "xml/thunar-compact-view.xml">
<!ENTITY ThunarColumnModel SYSTEM "xml/thunar-column-model.xml">
<!ENTITY ThunarTreeModel SYSTEM "xml/thunar-tree-model.xml">
<!ENTITY ThunarProgressDialog SYSTEM "xml/thunar-progress-dialog.xml">
<!ENTITY ThunarGdkExtensions SYSTEM "xml/thunar-gdk-extensions.xml">
<!ENTITY ThunarProgressView SYSTEM "xml/thunar-progress-view.xml">
<!ENTITY % local.common.attrib "xmlns:xi CDATA #FIXED 'http://www.w3.org/2003/XInclude'">
<!ENTITY % gtkdocentities SYSTEM "xml/gtkdocentities.ent">
%gtkdocentities;
]>
<book id="index" xmlns:xi="http://www.w3.org/2003/XInclude">
<bookinfo>
<title>Thunar Internal Functions Reference Manual</title>
<releaseinfo>
For &package_string;.
The latest version of this documentation can be found on-line at
<ulink role="online-location" url="https://developer.xfce.org/&package_name;/index.html">https://developer.xfce.org/&package_name;/</ulink>.
</releaseinfo>
<copyright>
<year>2024</year>
<holder>The Xfce Development Team</holder>
</copyright>
</bookinfo>
<part id="glib-gtk-extensions">
<title>Glib/GTK Extensions</title>
<xi:include href="xml/thunar-gobject-extensions.xml"/>
<xi:include href="xml/thunar-gio-extensions.xml"/>
<xi:include href="xml/thunar-gtk-extensions.xml"/>
<xi:include href="xml/thunar-gdk-extensions.xml"/>
<xi:include href="xml/thunar-pango-extensions.xml"/>
</part>
<part id="thunar-objects">
<title>Thunar Backend Objects</title>
<chapter>
<title>File Abstraction</title>
<xi:include href="xml/thunar-file.xml"/>
<xi:include href="xml/thunar-folder.xml"/>
</chapter>
<chapter>
<title>Device Management</title>
<xi:include href="xml/thunar-device.xml"/>
<xi:include href="xml/thunar-device-monitor.xml"/>
<xi:include href="xml/thunar-notify.xml"/>
</chapter>
<chapter>
<title>Parallel Tasks</title>
<xi:include href="xml/thunar-job.xml"/>
<xi:include href="xml/thunar-simple-job.xml"/>
<xi:include href="xml/thunar-io-jobs.xml"/>
<xi:include href="xml/thunar-io-jobs-util.xml"/>
<xi:include href="xml/thunar-io-scan-directory.xml"/>
<xi:include href="xml/thunar-deep-count-job.xml"/>
<xi:include href="xml/thunar-transfer-job.xml"/>
</chapter>
<chapter>
<title>X Session / DBus Management</title>
<xi:include href="xml/thunar-session-client.xml"/>
<xi:include href="xml/thunar-ice.xml"/>
<xi:include href="xml/thunar-dbus-service.xml"/>
</chapter>
<chapter>
<title>Miscellaneous</title>
<xi:include href="xml/thunar-util.xml"/>
<xi:include href="xml/thunar-enum-types.xml"/>
<xi:include href="xml/thunar-preferences.xml"/>
<xi:include href="xml/thunar-user.xml"/>
<xi:include href="xml/thunar-job-operation.xml"/>
<xi:include href="xml/thunar-job-operation-history.xml"/>
</chapter>
</part>
<part id="thunar-view">
<title>Main Screen UI Widgets</title>
<chapter>
<title>Navigation Control</title>
<xi:include href="xml/thunar-window.xml"/>
<xi:include href="xml/thunar-navigator.xml"/>
<xi:include href="xml/thunar-browser.xml"/>
<xi:include href="xml/thunar-history.xml"/>
</chapter>
<chapter>
<title>Main View</title>
<xi:include href="xml/thunar-view.xml"/>
<xi:include href="xml/thunar-standard-view.xml"/>
<xi:include href="xml/thunar-abstract-icon-view.xml"/>
<xi:include href="xml/thunar-icon-view.xml"/>
<xi:include href="xml/thunar-details-view.xml"/>
<xi:include href="xml/thunar-compact-view.xml"/>
</chapter>
<chapter>
<title>Side Pane</title>
<xi:include href="xml/thunar-side-pane.xml"/>
<xi:include href="xml/thunar-shortcuts-pane.xml"/>
<xi:include href="xml/thunar-shortcuts-view.xml"/>
<xi:include href="xml/thunar-tree-pane.xml"/>
<xi:include href="xml/thunar-tree-view.xml"/>
</chapter>
<chapter>
<title>Location Bar</title>
<xi:include href="xml/thunar-location-bar.xml"/>
<xi:include href="xml/thunar-location-buttons.xml"/>
<xi:include href="xml/thunar-location-button.xml"/>
<xi:include href="xml/thunar-location-entry.xml"/>
<xi:include href="xml/thunar-path-entry.xml"/>
</chapter>
<chapter>
<title>Status Bar</title>
<xi:include href="xml/thunar-statusbar.xml"/>
</chapter>
</part>
<part id="thunar-widgets">
<title>Other Thunar UI Widgets</title>
<chapter>
<title>Chooser</title>
<xi:include href="xml/thunar-emblem-chooser.xml"/>
<xi:include href="xml/thunar-chooser-dialog.xml"/>
<xi:include href="xml/thunar-permissions-chooser.xml"/>
<xi:include href="xml/thunar-chooser-button.xml"/>
<xi:include href="xml/thunar-chooser-model.xml"/>
</chapter>
<chapter>
<title>Dialog</title>
<xi:include href="xml/thunar-dialogs.xml"/>
<xi:include href="xml/thunar-abstract-dialog.xml"/>
<xi:include href="xml/thunar-column-editor.xml"/>
<xi:include href="xml/thunar-preferences-dialog.xml"/>
<xi:include href="xml/thunar-progress-dialog.xml"/> <!-- Duplicated on purpose -->
<xi:include href="xml/thunar-properties-dialog.xml"/>
<xi:include href="xml/thunar-renamer-dialog.xml"/> <!-- Duplicated on purpose -->
<xi:include href="xml/thunar-size-label.xml"/>
</chapter>
<chapter>
<title>Entry Model</title>
<xi:include href="xml/thunar-column-model.xml"/>
<xi:include href="xml/thunar-list-model.xml"/>
<xi:include href="xml/thunar-renamer-model.xml"/> <!-- Duplicated on purpose -->
<xi:include href="xml/thunar-shortcuts-model.xml"/>
<xi:include href="xml/thunar-sendto-model.xml"/>
<xi:include href="xml/thunar-tree-model.xml"/>
</chapter>
<chapter>
<title>File Selection</title>
<xi:include href="xml/thunar-clipboard-manager.xml"/>
<xi:include href="xml/thunar-dnd.xml"/>
<xi:include href="xml/thunar-component.xml"/>
</chapter>
<chapter>
<title>Applicaton</title>
<xi:include href="xml/thunar-application.xml"/>
</chapter>
<chapter>
<title>Menu Entries</title>
<xi:include href="xml/thunar-menu.xml"/>
<xi:include href="xml/thunar-action-manager.xml"/>
</chapter>
<chapter>
<title>Image/Icon</title>
<xi:include href="xml/thunar-image.xml"/>
<xi:include href="xml/thunar-icon-factory.xml"/>
<xi:include href="xml/thunar-icon-renderer.xml"/>
<xi:include href="xml/thunar-shortcuts-icon-renderer.xml"/>
</chapter>
<chapter>
<title>Progress</title>
<xi:include href="xml/thunar-progress-view.xml"/>
<xi:include href="xml/thunar-progress-dialog.xml"/> <!-- Duplicated on purpose -->
</chapter>
<chapter>
<title>Renamer</title>
<xi:include href="xml/thunar-renamer-progress.xml"/>
<xi:include href="xml/thunar-renamer-model.xml"/> <!-- Duplicated on purpose -->
<xi:include href="xml/thunar-renamer-dialog.xml"/> <!-- Duplicated on purpose -->
<xi:include href="xml/thunar-renamer-pair.xml"/>
</chapter>
</part>
<xi:include href="xml/annotation-glossary.xml"><xi:fallback /></xi:include>
</book>

View file

@ -0,0 +1 @@
@PACKAGE_VERSION@

View file

@ -0,0 +1,53 @@
# The name of the module.
DOC_MODULE=thunarx
# The top-level SGML file.
DOC_MAIN_SGML_FILE=$(DOC_MODULE)-docs.xml
# Extra options to supply to gtkdoc-scan
SCAN_OPTIONS=--deprecated-guards="EXO_DISABLE_DEPRECATED"
# The directory containing the source code. Relative to $(srcdir)
DOC_SOURCE_DIR=$(top_srcdir)/thunarx
# Extra options to supply to gtkdoc-mkdb
MKDB_OPTIONS=--xml-mode --output-format=xml
# Extra options to supply to gtkdoc-fixref
FIXXREF_OPTIONS=
# Used for dependencies
HFILE_GLOB=
CFILE_GLOB=
# Header files to ignore when scanning
IGNORE_HFILES=thunarx-alias.h
# Extra files to add when scanning (relative to $srcdir)
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
# Extra SGML files that are included by DOC_MAIN_SGML_FILE
content_files =
# CFLAGS and LDFLAGS for compiling scan program. Only needed
# if $(DOC_MODULE).types is non-empty.
GTKDOC_CFLAGS = \
-I$(top_srcdir) \
-I$(top_builddir) \
$(GTK_CFLAGS) \
$(GTK_DOC_EXTRA_CFLAGS)
GTKDOC_LIBS = \
$(top_builddir)/thunarx/libthunarx-$(THUNARX_VERSION_API).la \
$(GTK_LIBS)
include $(top_srcdir)/gtk-doc.make
# vi:set ts=8 sw=8 noet ai nocindent syntax=automake:

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

View file

@ -0,0 +1,470 @@
<?xml version="1.0"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"
[
<!ENTITY ThunarxFileInfo SYSTEM "xml/thunarx-file-info.xml">
<!ENTITY ThunarxMenu SYSTEM "xml/thunarx-menu.xml">
<!ENTITY ThunarxMenuItem SYSTEM "xml/thunarx-menu-item.xml">
<!ENTITY ThunarxMenuProvider SYSTEM "xml/thunarx-menu-provider.xml">
<!ENTITY ThunarxPreferencesProvider SYSTEM "xml/thunarx-preferences-provider.xml">
<!ENTITY ThunarxPropertyPage SYSTEM "xml/thunarx-property-page.xml">
<!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 % local.common.attrib "xmlns:xi CDATA #FIXED 'http://www.w3.org/2003/XInclude'">
<!ENTITY % gtkdocentities SYSTEM "xml/gtkdocentities.ent">
%gtkdocentities;
]>
<book id="index" xmlns:xi="http://www.w3.org/2003/XInclude">
<bookinfo>
<title>thunarx Reference Manual</title>
<releaseinfo>
For &package_string;.
The latest version of this documentation can be found on-line at
<ulink role="online-location" url="https://developer.xfce.org/&package_name;/index.html">https://developer.xfce.org/&package_name;/</ulink>.
</releaseinfo>
<copyright>
<year>2024</year>
<holder>The Xfce Development Team</holder>
</copyright>
</bookinfo>
<part id="thunarx-overview">
<title>Overview</title>
<para>
The Thunar Extension Framework (<systemitem class="library">thunarx</systemitem>) provides
developers with an easy way to extend the basic functionality provided by
the <ulink type="http" url="https://docs.xfce.org/xfce/thunar/start">Thunar File Manager</ulink>.
The <systemitem class="library">thunarx</systemitem> library includes interfaces that can
be implemented by extensions for various purposes.
</para>
<para>
It is based on the <ulink type="http"
url="https://developer.gnome.org/gobject/unstable/chapter-gtype.html">GLib Dynamic Type
System</ulink> and loads the extensions on demand to reduce the system resources
allocated for the file manager process.
</para>
<sect1 id="thunarx-overview-goals">
<title>Goals</title>
<para>
The Thunar Extension Framework was developed with the following goals in mind:
</para>
<orderedlist>
<listitem>
It should be easy to extend the functionality of the file manager in certain
ways.
</listitem>
<listitem>
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.
</listitem>
<listitem>
Provide basic compatibility with the <ulink type="http"
url="https://www.gnome.org/projects/nautilus/">Nautilus</ulink> 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.
</listitem>
<listitem>
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 <ulink type="http"
url="https://developer.gnome.org/gobject/unstable/GTypePlugin.html">GTypePlugin</ulink>
and <ulink type="http"
url="https://developer.gnome.org/gobject/unstable/GTypeModule.html">GTypeModule</ulink>
sections in the <ulink type="http" url="https://developer.gnome.org/gobject/unstable/">GObject
Reference Manual</ulink> provide details about the handling of dynamic type plugins.
</listitem>
<listitem>
Permit developers to write extensions in languages other than C.
</listitem>
</orderedlist>
</sect1>
</part>
<part id="thunarx-writing-extensions">
<title>Writing Extensions</title>
<para>
This section explains the basic steps required to write an extension for the <ulink type="http"
url="https://docs.xfce.org/xfce/thunar/start">Thunar File Manager</ulink> using the C language interface. It is
just a short introduction and not meant to provide extensive details about the internal workings
of the file manager.
</para>
<sect1 id="thunarx-writing-extensions-basic-concepts">
<title>Basic Concepts</title>
<sect2 id="thunarx-writing-extensions-extensions-and-providers">
<title>Extensions and Providers</title>
<para>
<emphasis>Thunar Extensions</emphasis> are shared libraries that extend the basic functionality
provided by the Thunar File Manager. An extension exports one or more <link
linkend="GObject"><type>GObject</type></link>s, called <emphasis>providers</emphasis>, to Thunar.
</para>
<para>
Providers implement one or more of the <link linkend="GInterface"><type>GInterface</type></link>s included with
the <systemitem class="library">thunarx</systemitem> library. The currently exported interfaces
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, the <link
linkend="ThunarxPreferencesProvider"><type>ThunarxPreferencesProvider</type></link> for adding items to the
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>
<sect2 id="thunarx-writing-extensions-thunarxfileinfo">
<title>ThunarxFileInfo</title>
<para>
Thunar passes file references to the provider using <link linkend="ThunarxFileInfo"><type>ThunarxFileInfo</type></link>
objects. The <link linkend="ThunarxFileInfo"><type>ThunarxFileInfo</type></link> interface provides access to the file
information that Thunar has already read - mime type, URI, name, etc. Extensions should use the data from
the <link linkend="ThunarxFileInfo"><type>ThunarxFileInfo</type></link> rather than reading it themselves, to
prevent excessive I/O.
</para>
<para>
There is exactly one <link linkend="ThunarxFileInfo"><type>ThunarxFileInfo</type></link> per file, and it is kept around
for as long as Thunar is interested in the file. Extensions can use this information to manage lifecycles of
its own data - e.g. when the <link linkend="ThunarxFileInfo"><type>ThunarxFileInfo</type></link> goes away, it is safe
for the extension to forget any private data for that file.
</para>
</sect2>
<sect2 id="thunarx-writing-extensions-names">
<title>Names</title>
<para>
Most objects created by the extensions need names, e.g. the <link linkend="ThunarxMenuItem"><type>ThunarxMenuItem</type></link>s
returned from the <link linkend="ThunarxMenuProvider"><type>ThunarxMenuProvider</type></link>s. These names must be
namespaced with the name of the extension. For example the main item returned from the
<application>TexOpenTerminal</application> extension (which can be found in the <filename
role="directory">examples/tex-open-terminal</filename> subdirectory of the Thunar distribution) should be called
<literal>TexOpenTerminal::open-terminal</literal>. The namespace must be global among the providers exported by
a certain extension.
</para>
</sect2>
<sect2 id="thunarx-writing-extensions-types">
<title>Types</title>
<para>
Thunar extensions are loaded as <link linkend="GTypeModule"><type>GTypeModule</type></link>s. This means that all GTypes
created by the extension must be registered with the <link linkend="GTypeModule"><type>GTypeModule</type></link>, using
<link linkend="thunarx-provider-plugin-register-type"><function>thunarx_provider_plugin_register_type()</function></link>
function (or one of the convenience macros like <link linkend="THUNARX-DEFINE-TYPE:CAPS"><function>THUNARX_DEFINE_TYPE()</function></link>)
rather than <link linked="g-type-register-static"><function>g_type_register_static()</function></link>. All types
exported by an extension must be registered in
<link linkend="thunar-extension-initialize"><function>thunar_extension_initialize()</function></link>.
</para>
</sect2>
</sect1>
<sect1 id="thunarx-writing-extensions-getting-started">
<title>Getting Started</title>
<para>
Providers are <link linkend="ThunarxProviderPlugin"><type>ThunarxProviderPlugin</type></link>s loaded from shared libraries
installed in <filename role="directory">$libdir/thunarx-2/</filename>. The shared libraries are linked against the
<systemitem class="library">thunarx-2</systemitem> library.
</para>
<para>
The extensions must provide three public functions, <function>thunar_extension_initialize()</function>,
<function>thunar_extension_shutdown()</function> and <function>thunar_extension_list_types()</function>.
</para>
<para>
<function>thunar_extension_initialize()</function> is passed a <link linkend="ThunarxProviderPlugin"><type>ThunarxProviderPlugin</type></link>
object, and is responsible to register all GTypes required by the extension. <function>thunar_extension_shutdown()</function> should
perform any extension-specific shutdown required prior to unloading the extension. <function>thunar_extension_list_types()</function>
returns an array of GTypes that represent the types of the providers exported by the extension. Thunar will instantiate
objects of those types when needed.
</para>
<example>
<title>Basic Structure of an extension</title>
<programlisting>
#include &lt;gmodule.h&gt;
#include &lt;thunarx/thunarx.h&gt;
static GType type_list[1];
static void
foo_extension_register_type (ThunarxProviderPlugin *plugin)
{
static const GTypeInfo info =
{
sizeof (FooExtensionClass),
NULL,
NULL,
(GClassInitFunc) foo_extension_class_init,
NULL,
NULL,
sizeof (FooExtension),
0,
(GInstanceInitFunc) foo_extension_init,
NULL,
};
type_list[0] = thunarx_provider_plugin_register_type (plugin,
G_TYPE_OBJECT,
"FooExtension",
&amp;info, 0);
/* implement the desired provider interfaces */
}
static GType
foo_extension_get_type (void)
{
return type_list[0];
}
G_MODULE_EXPORT void
thunar_extension_initialize (ThunarxProviderPlugin *plugin)
{
const gchar *mismatch;
/* verify the versions */
mismatch = thunarx_check_version (THUNARX_MAJOR_VERSION,
THUNARX_MINOR_VERSION,
THUNARX_MICRO_VERSION);
if (G_UNLIKELY (mismatch != NULL))
{
g_warning ("Version mismatch: %s", mismatch);
return;
}
foo_extension_register_type (plugin);
}
G_MODULE_EXPORT void
thunar_extension_shutdown (void)
{
/* any extension-specific shutdown */
}
G_MODULE_EXPORT void
thunar_extension_list_types (const GType **types,
gint *n_types)
{
*types = type_list;
*n_types = G_N_ELEMENTS (type_list);
}</programlisting>
</example>
<para>
You should check the <application>TexOpenTerminal</application> extension, which is included in the Thunar
distribution in the <filename role="directory">examples/tex-open-terminal</filename> directory, for a more
complete example of how to write a Thunar extension.
</para>
<sect2 id="thunarx-writing-extensions-compiling-thunar-extensions">
<title>Compiling Thunar Extensions</title>
<para>
To compile a Thunar extension, you need to tell the compiler where to find the
<systemitem class="library">thunarx</systemitem> header files and library. This
is done with the <literal>pkg-config</literal> utility.
</para>
<para>
The following interactive shell session demonstrates how <literal>pkg-config</literal>
is used (the actual output on your system will be different):
<screen>
$ pkg-config --cflags thunarx-2
-DXTHREADS -DXUSE_MTSAFE_API -I/opt/local/include/thunarx-2 -I/usr/local/include/atk-1.0 \
-I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include -I/usr/X11R6/include/gtk-2.0 \
-I/usr/X11R6/lib/gtk-2.0/include -I/usr/X11R6/include -I/usr/X11R6/include/pango-1.0 \
-I/usr/local/include/freetype2 -I/usr/local/include
$ pkg-config --libs thunarx-2
-Wl,--rpath -Wl,/usr/local/lib -L/usr/local/lib -L/usr/X11R6/lib -L/opt/local/lib -lthunarx-2</screen>
</para>
<para>
The easiest way to compile an extension is to use the <emphasis>backticks</emphasis>
feature of the shell. If you enclose a command in backticks (<emphasis>not single
quotes</emphasis>), then its output will be substituted into the command line before
execution. So to compile an extension, you would type the following:
<screen>
$ gcc -shared -fPIC -DPIC `pkg-config --cflags --libs thunarx-2` foo.c -o foo.so</screen>
</para>
</sect2>
<sect2 id="thunarx-writing-extensions-installing-thunar-extensions">
<title>Installing Thunar Extensions</title>
<para>
To determine the directory where extensions must be installed on your local system,
you can use the following command (as mentioned above, the output will be different
on your system):
<screen>
$ pkg-config --variable=extensionsdir thunarx-2
/opt/local/lib/thunarx-2</screen>
</para>
<para>
For example, to install the extension <filename>foo.so</filename> on your system,
you would type the following:
<screen>
$ install -d `pkg-config --variable=extensionsdir thunarx-2`
$ install -c -m 0755 foo.so `pkg-config --variable=extensionsdir thunarx-2`/foo.so</screen>
</para>
</sect2>
</sect1>
<sect1 id="thunarx-writing-extensions-advanced-topics">
<title>Advanced topics</title>
<para>
This section provides a short introduction to some of the advanced topics in the
Thunar Extension Framework.
</para>
<sect2 id="thunarx-writing-extensions-memory-resident-extensions">
<title>Memory-Resident Extensions</title>
<para>
Some extensions may not play well with Thunar's on-demand loading and unloading
of extensions. For example, an extension that uses a desktop library, which in
turn registers additional static GTypes will not work after being loaded and
unloaded for the first time. For these kind of extensions, Thunar provides the
option to make extensions <emphasis>memory resident</emphasis>, which means the
extension will be loaded once and afterwards will never be unloaded again until
Thunar exits.
</para>
<para>
Such extensions must set the <literal>resident</literal> property of the provider plugin in its
<function>thunar_extension_initialize()</function> function to <literal>TRUE</literal>, using the <link
linkend="thunarx-provider-plugin-set-resident"><function>thunarx_provider_plugin_set_resident()</function></link>
method.
</para>
<example>
<title>Making an extension memory resident</title>
<programlisting>
G_MODULE_EXPORT void
thunar_extension_initialize (ThunarxProviderPlugin *plugin)
{
/* setup the types for the extension */
...
/* ensure that the extension will never be unloaded */
thunarx_provider_plugin_set_resident (plugin, TRUE);
}</programlisting>
</example>
</sect2>
</sect1>
</part>
<part id="thunarx-fundamentals">
<title>Fundamentals</title>
<xi:include href="xml/thunarx-version-information.xml"/>
</part>
<part id="thunarx-abstraction-layer">
<title>Abstraction Layer</title>
<para>
In order to hide the internals of the file manager from the extensions, the <systemitem
class="library">thunarx</systemitem> library provides an abstraction layer, which includes
interfaces accessible to the extension, that are implemented by the file manager at runtime.
</para>
<para>
<inlinegraphic fileref="abstraction.png" format="PNG" />
</para>
<para>
Currently the abstraction layer consists of the interface <link
linkend="ThunarxFileInfo"><type>ThunarxFileInfo</type></link>, which provides
extensions with a way to access information about a file handled within
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, the interface <link
linkend="ThunarxProviderPlugin"><type>ThunarxProviderPlugin</type></link>, which
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>
<xi:include href="xml/thunarx-file-info.xml"/>
<xi:include href="xml/thunarx-menu.xml"/>
<xi:include href="xml/thunarx-menu-item.xml"/>
<xi:include href="xml/thunarx-property-page.xml"/>
<xi:include href="xml/thunarx-provider-plugin.xml"/>
<xi:include href="xml/thunarx-renamer.xml"/>
</part>
<part id="thunarx-providers">
<title>Providers</title>
<para>
The extensions interact with the file manager by implementing so called
<emphasis>providers</emphasis>. This is a concept adopted from the Nautilus
Extension Framework.
</para>
<para>
Providers are interfaces in the <systemitem class="library">thunarx</systemitem>
library that describe the functionality provided by a certain extension. For
example, when the file manager pops up the file context menu, it'll first lookup
all extensions that implement the interface <interface>ThunarxMenuProvider</interface>
ask those extensions for the list of additional menu items.
</para>
<para>
<inlinegraphic fileref="menu-provider.png" format="PNG" />
</para>
<xi:include href="xml/thunarx-menu-provider.xml"/>
<xi:include href="xml/thunarx-property-page-provider.xml"/>
<xi:include href="xml/thunarx-preferences-provider.xml"/>
<xi:include href="xml/thunarx-renamer-provider.xml"/>
</part>
<part id="thunarx-using-extensions">
<title>Using Thunar extensions in applications</title>
<xi:include href="xml/thunarx-provider-factory.xml"/>
</part>
<index>
<title>Index</title>
</index>
<xi:include href="xml/annotation-glossary.xml"><xi:fallback /></xi:include>
</book>
<!--
vi:set ts=2 sw=2 et ai syntax=docbkxml:
-->

View file

@ -0,0 +1 @@

View file

@ -0,0 +1,243 @@
<INCLUDE>thunarx/thunarx.h</INCLUDE>
<SECTION>
<FILE>thunarx-file-info</FILE>
<TITLE>ThunarxFileInfo</TITLE>
ThunarxFileInfoIface
ThunarxFileInfo
thunarx_file_info_get_name
thunarx_file_info_get_uri
thunarx_file_info_get_parent_uri
thunarx_file_info_get_uri_scheme
thunarx_file_info_get_mime_type
thunarx_file_info_has_mime_type
thunarx_file_info_is_directory
thunarx_file_info_get_file_info
thunarx_file_info_get_filesystem_info
thunarx_file_info_get_location
thunarx_file_info_changed
thunarx_file_info_renamed
THUNARX_TYPE_FILE_INFO_LIST
thunarx_file_info_list_copy
thunarx_file_info_list_free
<SUBSECTION Standard>
THUNARX_TYPE_FILE_INFO
THUNARX_FILE_INFO
THUNARX_IS_FILE_INFO
THUNARX_FILE_INFO_GET_IFACE
<SUBSECTION Private>
thunarx_file_info_get_type
thunarx_file_info_list_get_type
</SECTION>
<SECTION>
<FILE>thunarx-menu</FILE>
<TITLE>ThunarxMenu</TITLE>
ThunarxMenu
thunarx_menu_new
thunarx_menu_append_item
thunarx_menu_prepend_item
thunarx_menu_get_items
<SUBSECTION Standard>
ThunarxMenuClass
THUNARX_TYPE_MENU
THUNARX_MENU
THUNARX_MENU_CLASS
THUNARX_IS_MENU
THUNARX_IS_MENU_CLASS
THUNARX_MENU_GET_CLASS
<SUBSECTION Private>
ThunarxMenuPrivate
thunarx_menu_get_type
</SECTION>
<SECTION>
<FILE>thunarx-menu-item</FILE>
<TITLE>ThunarxMenuItem</TITLE>
ThunarxMenuItem
thunarx_menu_item_new
thunarx_menu_item_activate
thunarx_menu_item_get_sensitive
thunarx_menu_item_set_sensitive
thunarx_menu_item_set_menu
thunarx_menu_item_list_free
<SUBSECTION Standard>
ThunarxMenuItemClass
THUNARX_TYPE_MENU_ITEM
THUNARX_MENU_ITEM
THUNARX_MENU_ITEM_CLASS
THUNARX_IS_MENU_ITEM
THUNARX_IS_MENU_ITEM_CLASS
THUNARX_MENU_ITEM_GET_CLASS
<SUBSECTION Private>
ThunarxMenuItemPrivate
thunarx_menu_item_get_type
</SECTION>
<SECTION>
<FILE>thunarx-menu-provider</FILE>
<TITLE>ThunarxMenuProvider</TITLE>
ThunarxMenuProviderIface
ThunarxMenuProvider
thunarx_menu_provider_get_file_menu_items
thunarx_menu_provider_get_folder_menu_items
thunarx_menu_provider_get_dnd_menu_items
<SUBSECTION Standard>
THUNARX_TYPE_MENU_PROVIDER
THUNARX_MENU_PROVIDER
THUNARX_IS_MENU_PROVIDER
THUNARX_MENU_PROVIDER_GET_IFACE
<SUBSECTION Private>
thunarx_menu_provider_get_type
</SECTION>
<SECTION>
<FILE>thunarx-preferences-provider</FILE>
<TITLE>ThunarxPreferencesProvider</TITLE>
ThunarxPreferencesProviderIface
ThunarxPreferencesProvider
thunarx_preferences_provider_get_menu_items
<SUBSECTION Standard>
THUNARX_TYPE_PREFERENCES_PROVIDER
THUNARX_PREFERENCES_PROVIDER
THUNARX_IS_PREFERENCES_PROVIDER
THUNARX_PREFERENCES_PROVIDER_GET_IFACE
<SUBSECTION Private>
thunarx_preferences_provider_get_type
</SECTION>
<SECTION>
<FILE>thunarx-property-page</FILE>
<TITLE>ThunarxPropertyPage</TITLE>
ThunarxPropertyPage
thunarx_property_page_new
thunarx_property_page_new_with_label_widget
thunarx_property_page_get_label
thunarx_property_page_set_label
thunarx_property_page_get_label_widget
thunarx_property_page_set_label_widget
<SUBSECTION Standard>
ThunarxPropertyPageClass
THUNARX_TYPE_PROPERTY_PAGE
THUNARX_PROPERTY_PAGE
THUNARX_PROPERTY_PAGE_CLASS
THUNARX_IS_PROPERTY_PAGE
THUNARX_IS_PROPERTY_PAGE_CLASS
THUNARX_PROPERTY_PAGE_GET_CLASS
<SUBSECTION Private>
ThunarxPropertyPagePrivate
thunarx_property_page_get_type
</SECTION>
<SECTION>
<FILE>thunarx-property-page-provider</FILE>
<TITLE>ThunarxPropertyPageProvider</TITLE>
ThunarxPropertyPageProvider
ThunarxPropertyPageProviderIface
thunarx_property_page_provider_get_pages
<SUBSECTION Standard>
THUNARX_TYPE_PROPERTY_PAGE_PROVIDER
THUNARX_PROPERTY_PAGE_PROVIDER
THUNARX_IS_PROPERTY_PAGE_PROVIDER
THUNARX_PROPERTY_PAGE_PROVIDER_GET_IFACE
<SUBSECTION Private>
thunarx_property_page_provider_get_type
</SECTION>
<SECTION>
<FILE>thunarx-provider-factory</FILE>
<TITLE>ThunarxProviderFactory</TITLE>
ThunarxProviderFactory
thunarx_provider_factory_get_default
thunarx_provider_factory_list_providers
<SUBSECTION Standard>
ThunarxProviderFactoryClass
THUNARX_TYPE_PROVIDER_FACTORY
THUNARX_PROVIDER_FACTORY
THUNARX_PROVIDER_FACTORY_CLASS
THUNARX_IS_PROVIDER_FACTORY
THUNARX_IS_PROVIDER_FACTORY_CLASS
THUNARX_PROVIDER_FACTORY_GET_CLASS
<SUBSECTION Private>
thunarx_provider_factory_get_type
</SECTION>
<SECTION>
<FILE>thunarx-provider-plugin</FILE>
<TITLE>ThunarxProviderPlugin</TITLE>
ThunarxProviderPlugin
ThunarxProviderPluginIface
thunarx_provider_plugin_get_resident
thunarx_provider_plugin_set_resident
thunarx_provider_plugin_register_type
thunarx_provider_plugin_add_interface
thunarx_provider_plugin_register_enum
thunarx_provider_plugin_register_flags
THUNARX_DEFINE_TYPE
THUNARX_DEFINE_TYPE_WITH_CODE
THUNARX_DEFINE_ABSTRACT_TYPE
THUNARX_DEFINE_ABSTRACT_TYPE_WITH_CODE
THUNARX_DEFINE_TYPE_EXTENDED
THUNARX_IMPLEMENT_INTERFACE
<SUBSECTION Standard>
THUNARX_TYPE_PROVIDER_PLUGIN
THUNARX_PROVIDER_PLUGIN
THUNARX_IS_PROVIDER_PLUGIN
THUNARX_PROVIDER_PLUGIN_GET_IFACE
<SUBSECTION Private>
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_get_menu_items
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>
thunarx_major_version
thunarx_minor_version
thunarx_micro_version
thunarx_check_version
THUNARX_MAJOR_VERSION
THUNARX_MINOR_VERSION
THUNARX_MICRO_VERSION
THUNARX_CHECK_VERSION
</SECTION>

View file

@ -0,0 +1,14 @@
#include <thunarx/thunarx.h>
thunarx_file_info_get_type
thunarx_menu_get_type
thunarx_menu_item_get_type
thunarx_menu_provider_get_type
thunarx_preferences_provider_get_type
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

View file

@ -0,0 +1 @@
@PACKAGE_VERSION@