Xfce Wiki

Sub domains
 

This is an old revision of the document!


Thunarx API clean-up

Since the API soname had to bumped to avoid conflicts with GTK3 symbols, it's an appropriate opportunity to remove deprecated Widgets from the Thunar Extension Framework (thunarx), specifically GtkAction.

Considering the effort it would that take replace all GtkAction/GtkUiManager related code with GAction/GtkBuilder/GMenu, and realising this is not a straightforward task, we decided to keep these deprecated widget internally and deal with them by the time of the GTK4 port. Based on Nemo's approach, the ThunarxMenuItem and ThunarxMenu classes were designed as drop-in replacements for GtkAction yielded by providers, hence updating plugins should be an easy task.

Provider interfaces affected

  • ThunarxMenuProvider - The interface to extensions that provide additional menu items
  • ThunarxPreferencesProvider - The interface to extensions that provide preferences
  • ThunarxRenamerProvider - The interface to extensions that provide additional bulk renamers

Functions changed

  • thunarx_menu_provider_get_file_actions → thunarx_menu_provider_get_file_menu_items
  • thunarx_menu_provider_get_folder_actions → thunarx_menu_provider_get_folder_menu_items
  • thunarx_menu_provider_get_dnd_actions → thunarx_menu_provider_get_dnd_menu_items
  • thunarx_preferences_provider_get_actions → thunarx_preferences_provider_get_menu_items
  • thunarx_renamer_get_actions → thunarx_renamer_get_menu_items

Plugins/components to update

  • [X] thunar-advanced-properties (“apr”, bundled with thunar)
  • [X] thunar-simple-builtin-renamers (“sbr”, bundled with thunar)
  • [X] thunar-sendto-email (bundled with thunar)
  • [X] thunar-trash-panel-applet (“tpa, bundled with thunar)
  • [X] thunar-user-customizable-actions (“uca”, bundled with thunar)
  • [X] thunar-wallpaper-plugin (bundled with thunar)
  • [X] thunar-actions-plugin (unmaintained, moved to archive)
  • [X] thunar-archive-plugin
  • [X] thunar-media-tags-plugin
  • [ ] thunar-shares-plugin
  • [ ] thunar-vcs-plugin
  • [X] xfdesktop (merged, will be available in 4.13.2)
  • [X] thunarx-python

Compatibility Matrix

Component Thunar 1.6.x Thunar 1.7.x+ Works with both
xfdesktop 4.12 4.13.2+ No
thunar-archive-plugin 0.3.1 0.4.0 No
thunar-media-tags-plugin 0.2.1 0.3.0 No
thunar-shares-plugin 0.2.0 TBA No
thunar-vcs-plugin 0.1.5 TBA No
thunarx-python 0.3.0 0.5.0 No