This is an old revision of the document!
xfdesktop: Port to GIO
References to ThunarVFS
main.c
Calls thunar_vfs_init()
and thunar_vfs_shutdown()
. Those calls can be removed.
xfce-desktop.c
xfce_desktop_setup_icon_view()
Use a GFile
instead of a ThunarVfsPath
when creating the file icon manager.
Pass the GFile
to the manager object instead of the ThunarVfsPath
.
xfdesktop-clipboard-manager.c
XfdesktopClipboardPasteRequest
Use a GFile
instead of the ThunarVfsPath
for the target_path
struct member.
xfdesktop_clipboard_manager_get_callback()
Make xfdesktop_file_utils_file_icon_list_to_path_list()
return a list of GFile
objects.
Reuse thunar_g_file_list_to_string()
instead of using thunar_vfs_path_list_to_string()
.
Use g_list_foreach()
and g_list_free()
instead of thunar_vfs_path_list_free()
.
xfdesktop-file-icon.{c,h}
xfdesktop_file_icon_finalize()
There's no need for cancelling jobs if we don't use jobs anymore. Instead we'll use the new D-Bus methods that have been added to Thunar. When using those we can just fire and forget.
xfdesktop_file_icon_activated()
We don't need the file info here. Just launch the file using Thunar's Launch()
D-Bus
method. Add an interface method get_file
and make it return a GFile
. Use this
GFile
to compute the URI to be passed to Launch()
.
Make the interface method peek_info
return a GFileInfo
.
xfdesktop-file-icon-manager.{c,h}
xfdesktop_file_icon_menu_rename()
Use Thunar's Rename()
(or RenameFiles?
) D-Bus method. For this we only
need the GFile
of the icon, not the file info. Use xfdesktop_file_icon_get_file()
instead of xfdesktop_file_icon_peek_info()
.
xfdesktop_file_icon_manager_trash_files()
Again, use xfdesktop_file_icon_get_file()
instead of xfdesktop_file_icon_peek_info()
to obtain the URIs of the files supposed to be trashed.
xfdesktop_file_icon_menu_mime_app_executed()
Use GAppInfo
instead of ThunarVfsMimeApplication
and call g_app_info_launch()
instead of thunar_vfs_mime_handler_exec()
. Make sure to change the working directory
before and after this call (similar to how Thunar does it).
xfdesktop_menu_item_from_mime_handler()
Replace this method with a similar one based on GAppInfo
instead of
ThunarVfsMimeApplication
.
xfdesktop_file_icon_menu_open_folder()
We don't need the ThunarVfsInfo
here. Use xfdesktop_file_icon_get_file()
instead of xfdesktop_file_icon_peek_info()
. Make xfdesktop_file_utils_open_folder()
take a GFile
instead of a ThunarVfsInfo
.
xfdesktop_file_icon_menu_open_desktop()
See the previous function.