From 0097c56e09b8501cabdfac2e15d536f121446cc4 Mon Sep 17 00:00:00 2001 From: 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> Date: Sat, 19 Jul 2025 14:49:47 +1000 Subject: config: add config for using fzf/fuzzy search --- services/Apps.qml | 2 ++ services/Wallpapers.qml | 25 ++++++++----------------- 2 files changed, 10 insertions(+), 17 deletions(-) (limited to 'services') diff --git a/services/Apps.qml b/services/Apps.qml index b8ec38e..e2addcd 100644 --- a/services/Apps.qml +++ b/services/Apps.qml @@ -1,5 +1,6 @@ pragma Singleton +import qs.config import qs.utils import Quickshell @@ -7,6 +8,7 @@ Searcher { id: root list: DesktopEntries.applications.values.filter(a => !a.noDisplay).sort((a, b) => a.name.localeCompare(b.name)) + useFuzzy: Config.launcher.useFuzzy.apps function launch(entry: DesktopEntry): void { if (entry.runInTerminal) diff --git a/services/Wallpapers.qml b/services/Wallpapers.qml index b81a891..b9c408a 100644 --- a/services/Wallpapers.qml +++ b/services/Wallpapers.qml @@ -1,39 +1,23 @@ 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 string currentNamePath: Paths.strip(`${Paths.state}/wallpaper/path.txt`) readonly property list extensions: ["jpg", "jpeg", "png", "webp", "tif", "tiff"] - readonly property list list: wallpapers.instances property bool showPreview: false readonly property string current: showPreview ? previewPath : actualCurrent property string previewPath property string actualCurrent property bool previewColourLock - readonly property list preppedWalls: list.map(w => ({ - name: Fuzzy.prepare(w.name), - path: Fuzzy.prepare(w.path), - wall: w - })) - - function fuzzyQuery(search: string): var { - return Fuzzy.go(search, preppedWalls, { - all: true, - keys: ["name", "path"], - scoreFn: r => r[0].score * 0.9 + r[1].score * 0.1 - }).map(r => r.obj.wall); - } - function setWallpaper(path: string): void { actualCurrent = path; Quickshell.execDetached(["caelestia", "wallpaper", "-f", path]); @@ -55,6 +39,13 @@ Singleton { reloadableId: "wallpapers" + list: wallpapers.instances + key: "path" + useFuzzy: Config.launcher.useFuzzy.wallpapers + extraOpts: useFuzzy ? ({}) : ({ + forward: false + }) + IpcHandler { target: "wallpaper" -- cgit v1.2.3-freya