Can you please remove the string template, it's useless in this case.
36 + var desktop_display_name = Filename.display_basename (uri_desktop_file.get_parse_name());
This should be just Path.get_basename, not Filename.display_basename (Filename.display_basename doesn't expect utf-8 string).
25 + if (uri == uri_desktop)
26 + continue;
If the user has Desktop in favourites, we shouldn't mess with the order, and this should be just a flag "if (uri == uri_desktop) add_desktop_bookmark = false;".
10 + File uri_desktop_file = File.new_for_path (@"$(Environmen t.get_user_ special_ dir(UserDirecto ry.DESKTOP) )");
Can you please remove the string template, it's useless in this case.
36 + var desktop_ display_ name = Filename. display_ basename (uri_desktop_ file.get_ parse_name( ));
This should be just Path.get_basename, not Filename. display_ basename (Filename. display_ basename doesn't expect utf-8 string).
25 + if (uri == uri_desktop)
26 + continue;
If the user has Desktop in favourites, we shouldn't mess with the order, and this should be just a flag "if (uri == uri_desktop) add_desktop_ bookmark = false;".