diff options
| author | 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> | 2025-07-19 14:25:39 +1000 |
|---|---|---|
| committer | 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> | 2025-07-19 14:25:39 +1000 |
| commit | ce26c8a75460948bccf412b3c559ea9a5777131f (patch) | |
| tree | 3ad3aed7243298f27d85f50434f0619e7eb34f3d /modules/launcher/Schemes.qml | |
| parent | readme: update config example (diff) | |
| download | caelestia-shell-ce26c8a75460948bccf412b3c559ea9a5777131f.tar.gz caelestia-shell-ce26c8a75460948bccf412b3c559ea9a5777131f.tar.bz2 caelestia-shell-ce26c8a75460948bccf412b3c559ea9a5777131f.zip | |
feat: fzf-like search instead of fuzzy
Also add license for fuzzysort lib
Diffstat (limited to 'modules/launcher/Schemes.qml')
| -rw-r--r-- | modules/launcher/Schemes.qml | 21 |
1 files changed, 6 insertions, 15 deletions
diff --git a/modules/launcher/Schemes.qml b/modules/launcher/Schemes.qml index 534e456..2be8558 100644 --- a/modules/launcher/Schemes.qml +++ b/modules/launcher/Schemes.qml @@ -1,28 +1,19 @@ pragma Singleton -import "root:/utils/scripts/fuzzysort.js" as Fuzzy -import qs.config +import qs.utils import Quickshell import Quickshell.Io import QtQuick -Singleton { +Searcher { id: root - readonly property list<var> preppedSchemes: schemes.instances.map(s => ({ - name: Fuzzy.prepare(s.name), - flavour: Fuzzy.prepare(s.flavour), - scheme: s - })) - - function fuzzyQuery(search: string): var { - return Fuzzy.go(search.slice(`${Config.launcher.actionPrefix}scheme `.length), preppedSchemes, { - all: true, - keys: ["name", "flavour"], - scoreFn: r => r[0].score > 0 ? r[0].score * 0.9 + r[1].score * 0.1 : 0 - }).map(r => r.obj.scheme); + function transformSearch(search: string): var { + return search.slice(`${Config.launcher.actionPrefix}scheme `.length); } + list: schemes.instances + Variants { id: schemes |