Xfce Wiki

Sub domains
 

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.