summaryrefslogtreecommitdiff
path: root/modules/launcher/Schemes.qml
diff options
context:
space:
mode:
author2 * r + 2 * t <61896496+soramanew@users.noreply.github.com>2025-07-19 14:25:39 +1000
committer2 * r + 2 * t <61896496+soramanew@users.noreply.github.com>2025-07-19 14:25:39 +1000
commitce26c8a75460948bccf412b3c559ea9a5777131f (patch)
tree3ad3aed7243298f27d85f50434f0619e7eb34f3d /modules/launcher/Schemes.qml
parentreadme: update config example (diff)
downloadcaelestia-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.qml21
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