aboutsummaryrefslogtreecommitdiffstats
path: root/desktop/modules/appearance/Wallpapers.qml
diff options
context:
space:
mode:
Diffstat (limited to 'desktop/modules/appearance/Wallpapers.qml')
-rw-r--r--desktop/modules/appearance/Wallpapers.qml5
1 files changed, 5 insertions, 0 deletions
diff --git a/desktop/modules/appearance/Wallpapers.qml b/desktop/modules/appearance/Wallpapers.qml
index 7d671e1..9e9d4ad 100644
--- a/desktop/modules/appearance/Wallpapers.qml
+++ b/desktop/modules/appearance/Wallpapers.qml
@@ -57,6 +57,9 @@ Singleton {
property bool scanning: true
property bool applying: false
signal applied(bool ok, string message)
+ // Sent before wallp runs, while current still names the old picture, so
+ // WallpaperSpread can cover the swap with it.
+ signal swapping(string which, string from, string to)
// Sorted by most recent first: the wallpaper wanted now is usually one
// added recently. -maxdepth keeps a stray git checkout from being walked.
@@ -225,6 +228,8 @@ Singleton {
function apply() {
if (applying || !dirty) return;
applying = true;
+ if (pendingH !== "" && currentH !== "") swapping("H", currentH, pendingH);
+ if (pendingV !== "" && currentV !== "") swapping("V", currentV, pendingV);
const args = [];
if (pendingH !== "") args.push(`H=${JSON.stringify(pendingH)}`);
if (pendingV !== "") args.push(`V=${JSON.stringify(pendingV)}`);