From 0a8c111e12c5b4f5001d367aaaff947300e5a2bd Mon Sep 17 00:00:00 2001 From: bbedward Date: Thu, 19 Mar 2026 14:19:36 -0400 Subject: [PATCH] wallpaper: fixes for updatesEnable handling --- quickshell/Modules/BlurredWallpaperBackground.qml | 7 ++++++- quickshell/Modules/WallpaperBackground.qml | 7 ++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/quickshell/Modules/BlurredWallpaperBackground.qml b/quickshell/Modules/BlurredWallpaperBackground.qml index 552d3ce8..4732a368 100644 --- a/quickshell/Modules/BlurredWallpaperBackground.qml +++ b/quickshell/Modules/BlurredWallpaperBackground.qml @@ -86,7 +86,7 @@ Variants { Component.onCompleted: { if (typeof blurWallpaperWindow.updatesEnabled !== "undefined") - blurWallpaperWindow.updatesEnabled = Qt.binding(() => root.effectActive || root._renderSettling || currentWallpaper.status === Image.Loading || nextWallpaper.status === Image.Loading); + blurWallpaperWindow.updatesEnabled = Qt.binding(() => !root.source || root.effectActive || root._renderSettling || currentWallpaper.status === Image.Loading || nextWallpaper.status === Image.Loading); isInitialized = true; } @@ -167,6 +167,8 @@ Variants { transitionAnimation.stop(); root.transitionProgress = 0; root.effectActive = false; + root._renderSettling = true; + renderSettleTimer.restart(); currentWallpaper.source = nextWallpaper.source; nextWallpaper.source = ""; } @@ -175,6 +177,9 @@ Variants { return; } + root._renderSettling = true; + renderSettleTimer.restart(); + nextWallpaper.source = newPath; if (nextWallpaper.status === Image.Ready) diff --git a/quickshell/Modules/WallpaperBackground.qml b/quickshell/Modules/WallpaperBackground.qml index 1f181840..883be280 100644 --- a/quickshell/Modules/WallpaperBackground.qml +++ b/quickshell/Modules/WallpaperBackground.qml @@ -188,7 +188,7 @@ Variants { Component.onCompleted: { if (typeof wallpaperWindow.updatesEnabled !== "undefined") - wallpaperWindow.updatesEnabled = Qt.binding(() => root.effectActive || root._renderSettling || root.overviewBlurActive || root._overviewBlurSettling || currentWallpaper.status === Image.Loading || nextWallpaper.status === Image.Loading); + wallpaperWindow.updatesEnabled = Qt.binding(() => !root.source || root.effectActive || root._renderSettling || root.overviewBlurActive || root._overviewBlurSettling || currentWallpaper.status === Image.Loading || nextWallpaper.status === Image.Loading); if (!source) { root._renderSettling = false; @@ -289,6 +289,9 @@ Variants { break; } + root._renderSettling = true; + renderSettleTimer.restart(); + nextWallpaper.source = newPath; if (nextWallpaper.status === Image.Ready) @@ -339,6 +342,8 @@ Variants { if (status !== Image.Ready) return; if (root.actualTransitionType === "none") { + root._renderSettling = true; + renderSettleTimer.restart(); currentWallpaper.source = source; nextWallpaper.source = ""; root.transitionProgress = 0.0;