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:
commit
df58603323
432 changed files with 494671 additions and 0 deletions
5
docs/reference/Makefile.am
Normal file
5
docs/reference/Makefile.am
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
SUBDIRS = \
|
||||
thunar \
|
||||
thunarx
|
||||
|
||||
# vi:set ts=8 sw=8 noet ai nocindent syntax=automake:
|
||||
82
docs/reference/thunar/Makefile.am
Normal file
82
docs/reference/thunar/Makefile.am
Normal 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:
|
||||
275
docs/reference/thunar/thunar-docs.xml
Normal file
275
docs/reference/thunar/thunar-docs.xml
Normal 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>
|
||||
0
docs/reference/thunar/thunar-overrides.txt
Normal file
0
docs/reference/thunar/thunar-overrides.txt
Normal file
1
docs/reference/thunar/version.xml.in
Normal file
1
docs/reference/thunar/version.xml.in
Normal file
|
|
@ -0,0 +1 @@
|
|||
@PACKAGE_VERSION@
|
||||
53
docs/reference/thunarx/Makefile.am
Normal file
53
docs/reference/thunarx/Makefile.am
Normal 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:
|
||||
BIN
docs/reference/thunarx/images/abstraction.png
Normal file
BIN
docs/reference/thunarx/images/abstraction.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 4.9 KiB |
BIN
docs/reference/thunarx/images/bulk-rename.png
Normal file
BIN
docs/reference/thunarx/images/bulk-rename.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 46 KiB |
BIN
docs/reference/thunarx/images/menu-provider.png
Normal file
BIN
docs/reference/thunarx/images/menu-provider.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 11 KiB |
BIN
docs/reference/thunarx/images/say-hello.png
Normal file
BIN
docs/reference/thunarx/images/say-hello.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 38 KiB |
470
docs/reference/thunarx/thunarx-docs.xml
Normal file
470
docs/reference/thunarx/thunarx-docs.xml
Normal 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 <gmodule.h>
|
||||
#include <thunarx/thunarx.h>
|
||||
|
||||
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",
|
||||
&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:
|
||||
-->
|
||||
1
docs/reference/thunarx/thunarx-overrides.txt
Normal file
1
docs/reference/thunarx/thunarx-overrides.txt
Normal file
|
|
@ -0,0 +1 @@
|
|||
|
||||
243
docs/reference/thunarx/thunarx-sections.txt
Normal file
243
docs/reference/thunarx/thunarx-sections.txt
Normal 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>
|
||||
|
||||
14
docs/reference/thunarx/thunarx.types
Normal file
14
docs/reference/thunarx/thunarx.types
Normal 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
|
||||
|
||||
1
docs/reference/thunarx/version.xml.in
Normal file
1
docs/reference/thunarx/version.xml.in
Normal file
|
|
@ -0,0 +1 @@
|
|||
@PACKAGE_VERSION@
|
||||
Loading…
Add table
Add a link
Reference in a new issue