diff --git a/modules/launcher/Actions.qml b/modules/launcher/Actions.qml index 4323bfff..e604ae38 100644 --- a/modules/launcher/Actions.qml +++ b/modules/launcher/Actions.qml @@ -88,15 +88,17 @@ Singleton { } ] - readonly property list preppedNames: list.map(a => ({ + readonly property list preppedActions: list.map(a => ({ name: Fuzzy.prepare(a.name), + desc: Fuzzy.prepare(a.desc), action: a })) function fuzzyQuery(search: string): var { - return Fuzzy.go(search.slice(LauncherConfig.actionPrefix.length), preppedNames, { + return Fuzzy.go(search.slice(LauncherConfig.actionPrefix.length), preppedActions, { all: true, - key: "name" + keys: ["name", "desc"], + scoreFn: r => r[0].score * 0.9 + r[1].score * 0.1 }).map(r => r.obj.action); } diff --git a/services/Apps.qml b/services/Apps.qml index f964be22..6f2f48f0 100644 --- a/services/Apps.qml +++ b/services/Apps.qml @@ -8,15 +8,17 @@ Singleton { id: root readonly property list list: DesktopEntries.applications.values.filter(a => !a.noDisplay).sort((a, b) => a.name.localeCompare(b.name)) - readonly property list preppedNames: list.map(a => ({ + readonly property list preppedApps: list.map(a => ({ name: Fuzzy.prepare(a.name), + comment: Fuzzy.prepare(a.comment), entry: a })) function fuzzyQuery(search: string): var { // Idk why list doesn't work - return Fuzzy.go(search, preppedNames, { + return Fuzzy.go(search, preppedApps, { all: true, - key: "name" + keys: ["name", "comment"], + scoreFn: r => r[0].score * 0.9 + r[1].score * 0.1 }).map(r => r.obj.entry); }