From d33d880b0845d98eb71c4da8f0075d4d5aab31d8 Mon Sep 17 00:00:00 2001
From: fleur <spacecarrot@fleurshax.net>
Date: Fri, 18 Oct 2019 09:23:36 +0200
Subject: [PATCH] fix(menu): Order entries by display name

Fix menu entries being ordered by directory name instead of display
name.

Co-authored-by: Rahix <rahix@rahix.de>
---
 preload/menu.py | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/preload/menu.py b/preload/menu.py
index bd9705a3..d9d95b5d 100644
--- a/preload/menu.py
+++ b/preload/menu.py
@@ -17,13 +17,17 @@ import utime
 App = collections.namedtuple("App", ["name", "path"])
 
 
-def enumerate_apps():
-    """List all installed apps."""
+def enumerate_entries():
     for f in os.listdir("/"):
         if f == "main.py":
             yield App("Home", f)
 
-    for app in sorted(os.listdir("/apps")):
+    yield from sorted(enumerate_apps(), key=lambda b: b.name.lower())
+
+
+def enumerate_apps():
+    """List all installed apps."""
+    for app in os.listdir("/apps"):
         if app.startswith("."):
             continue
 
@@ -88,7 +92,7 @@ def no_apps_message():
 
 if __name__ == "__main__":
     try:
-        apps = list(enumerate_apps())
+        apps = list(enumerate_entries())
     except OSError:
         apps = []
 
-- 
GitLab