diff options
Diffstat (limited to 'modules/launcher/services/Schemes.qml')
| -rw-r--r-- | modules/launcher/services/Schemes.qml | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/modules/launcher/services/Schemes.qml b/modules/launcher/services/Schemes.qml index a5891d5..dbb2dac 100644 --- a/modules/launcher/services/Schemes.qml +++ b/modules/launcher/services/Schemes.qml @@ -10,6 +10,9 @@ import QtQuick Searcher { id: root + property string currentScheme + property string currentVariant + function transformSearch(search: string): string { return search.slice(`${Config.launcher.actionPrefix}scheme `.length); } @@ -18,6 +21,10 @@ Searcher { return `${item.name} ${item.flavour}`; } + function reload(): void { + getCurrent.running = true; + } + list: schemes.instances useFuzzy: Config.launcher.useFuzzy.schemes keys: ["name", "flavour"] @@ -48,7 +55,21 @@ Searcher { for (const f of s) flat.push(f); - schemes.model = flat; + schemes.model = flat.sort((a, b) => (a.name + a.flavour).localeCompare((b.name + b.flavour))); + } + } + } + + Process { + id: getCurrent + + running: true + command: ["caelestia", "scheme", "get", "-nfv"] + stdout: StdioCollector { + onStreamFinished: { + const [name, flavour, variant] = text.trim().split("\n"); + root.currentScheme = `${name} ${flavour}`; + root.currentVariant = variant; } } } |