André Miranda
2017-10-24 03:01:55 UTC
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
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