From d20a5095bb38d843c7f6327a553b9929e229a3b5 Mon Sep 17 00:00:00 2001 From: ATMDA Date: Sun, 9 Nov 2025 22:52:21 -0500 Subject: fix: color schemes and variants in appearance pane --- .../controlcenter/appearance/AppearancePane.qml | 42 ++++++++++++++++++++-- 1 file changed, 40 insertions(+), 2 deletions(-) (limited to 'modules') diff --git a/modules/controlcenter/appearance/AppearancePane.qml b/modules/controlcenter/appearance/AppearancePane.qml index ab00345..b2692c8 100644 --- a/modules/controlcenter/appearance/AppearancePane.qml +++ b/modules/controlcenter/appearance/AppearancePane.qml @@ -130,7 +130,25 @@ RowLayout { StateLayer { function onClicked(): void { - Quickshell.execDetached(["caelestia", "scheme", "set", "-v", modelData.variant]); + const variant = modelData.variant; + + // Optimistic update - set immediately + Schemes.currentVariant = variant; + + // Execute the command + Quickshell.execDetached(["caelestia", "scheme", "set", "-v", variant]); + + // Reload after a delay to confirm + Qt.callLater(() => { + reloadTimer.restart(); + }); + } + } + + Timer { + id: reloadTimer + interval: 300 + onTriggered: { Schemes.reload(); } } @@ -209,7 +227,27 @@ RowLayout { StateLayer { function onClicked(): void { - Quickshell.execDetached(["caelestia", "scheme", "set", "-n", modelData.name, "-f", modelData.flavour]); + const name = modelData.name; + const flavour = modelData.flavour; + const schemeKey = `${name} ${flavour}`; + + // Optimistic update - set immediately + Schemes.currentScheme = schemeKey; + + // Execute the command + Quickshell.execDetached(["caelestia", "scheme", "set", "-n", name, "-f", flavour]); + + // Reload after a delay to confirm + Qt.callLater(() => { + reloadTimer.restart(); + }); + } + } + + Timer { + id: reloadTimer + interval: 300 + onTriggered: { Schemes.reload(); } } -- cgit v1.2.3-freya