[Thunar-dev] Thunarx API changes

André Miranda andre42m at gmail.com
Tue Oct 24 05:01:55 CEST 2017


I would like to announce that the *experimental* work on Thunar 
Extension Framework (thunarx) has been completed [1].
As previously explained, besides updating to gtk3, I wanted to clean the 
API from deprecated widgets (GtkAction).
This is the last Request For Comments before I push to master.

New abstraction class:
ThunarxMenuItem
obs1: based on Nemo and Nautilus extension libs, not sure if its name 
make much sense, specially from ThunarxRenamers
obs2: maybe ThunarxAction would make more sense, maybe not, but of 
course the "breakage" would be smaller.

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

Methods 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 TODO list (marked items are updated):
[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)
[ ] thunar-actions-plugin
[X] thunar-archive-plugin (WIP available in [2])
[ ] thunar-media-tags-plugin
[ ] thunar-shares-plugin
[ ] thunar-vcs-plugin
[ ] xfdesktop
[ ] anything else depends on thunarx?

What I ask:
- review the API changes and how things were renamed
- review how ThunarxMenuItem are internally translated into GtkAction 
(thunar-util.c:thunar_util_action_from_menu_item)
- test!

1 - https://github.com/andreldm/thunar/tree/gtkaction-replacement
2 - https://github.com/andreldm/thunar-archive-plugin

Cheers,
Andre Miranda


More information about the Thunar-dev mailing list