From 548dda5901d55b9e48c303253927adbe338f8773 Mon Sep 17 00:00:00 2001 From: Jeremy Wootten Date: Fri, 24 Jan 2025 12:50:30 +0000 Subject: [PATCH 1/2] Sort Apps for "Open in ..." by name; avoid duplicate Files entry --- src/Utils.vala | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/Utils.vala b/src/Utils.vala index d86d571198..13942aa09e 100644 --- a/src/Utils.vala +++ b/src/Utils.vala @@ -202,13 +202,14 @@ namespace Scratch.Utils { } public GLib.Menu create_executable_app_items_for_file (GLib.File file, string file_type) { - List external_apps = GLib.AppInfo.get_all_for_type (file_type); - var files_appinfo = AppInfo.get_default_for_type ("inode/directory", true); - external_apps.prepend (files_appinfo); - - string this_id = GLib.Application.get_default ().application_id + ".desktop"; + var external_apps = GLib.AppInfo.get_all_for_type (file_type); + var this_id = GLib.Application.get_default ().application_id + ".desktop"; var menu = new GLib.Menu (); + external_apps.sort ((a, b) => { + return strcmp (a.get_name (), b.get_name ()); + }); + foreach (AppInfo app_info in external_apps) { string app_id = app_info.get_id (); if (app_id == this_id) { From 24225a6aaf1b71dc985cb611157a0910722d11bc Mon Sep 17 00:00:00 2001 From: Jeremy Wootten Date: Fri, 24 Jan 2025 15:45:43 +0000 Subject: [PATCH 2/2] Use string.collate () --- src/Utils.vala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Utils.vala b/src/Utils.vala index 13942aa09e..18d8f7f66f 100644 --- a/src/Utils.vala +++ b/src/Utils.vala @@ -207,7 +207,7 @@ namespace Scratch.Utils { var menu = new GLib.Menu (); external_apps.sort ((a, b) => { - return strcmp (a.get_name (), b.get_name ()); + return a.get_name ().collate (b.get_name ()); }); foreach (AppInfo app_info in external_apps) {