Keep apps menu alphabetically sorted

This commit is contained in:
David Heinemeier Hansson
2026-07-23 16:32:31 -07:00
parent 5d83402e75
commit 7798ed34b1
2 changed files with 21 additions and 0 deletions
+16
View File
@@ -549,6 +549,22 @@ Item {
if (!root.isVisible(child)) continue
rows.push(root.displayRow(child, child.description, child.order))
}
// DesktopEntries can reorder its values when an application starts.
// Keep the Apps menu alphabetical independently of provider refreshes.
if (active === "apps") {
rows.sort(function(a, b) {
var aLabel = String(a.label || "").toLowerCase()
var bLabel = String(b.label || "").toLowerCase()
if (aLabel < bLabel) return -1
if (aLabel > bLabel) return 1
var aId = String(a.itemId || "")
var bId = String(b.itemId || "")
if (aId < bId) return -1
if (aId > bId) return 1
return 0
})
}
}
for (var k = 0; k < rows.length; k++) displayModel.append(rows[k])