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
- [X] thunar-shares-plugin
- [X] 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 | 0.3.0 | No |
thunar-vcs-plugin | 0.1.5 | 0.2.0 | No |
thunarx-python | 0.3.0 | 0.5.0 | No |