From 654f2ec7ad21720089c6227ffc463c505b4111aa Mon Sep 17 00:00:00 2001 From: bbedward Date: Sat, 28 Feb 2026 01:10:04 -0500 Subject: [PATCH] wallpaper: defer updatesEnabled binding --- .../Modules/BlurredWallpaperBackground.qml | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/quickshell/Modules/BlurredWallpaperBackground.qml b/quickshell/Modules/BlurredWallpaperBackground.qml index 5b584c72..2a9ad192 100644 --- a/quickshell/Modules/BlurredWallpaperBackground.qml +++ b/quickshell/Modules/BlurredWallpaperBackground.qml @@ -85,12 +85,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); - - if (!source) { - root._renderSettling = false; - } + renderSettleTimer.restart(); isInitialized = true; } @@ -99,6 +94,7 @@ Variants { readonly property bool transitioning: transitionAnimation.running property bool effectActive: false property bool _renderSettling: true + property bool _updatesOptimized: false property bool useNextForEffect: false Connections { @@ -114,7 +110,13 @@ Variants { Timer { id: renderSettleTimer interval: 100 - onTriggered: root._renderSettling = false + onTriggered: { + root._renderSettling = false; + if (!root._updatesOptimized && typeof blurWallpaperWindow.updatesEnabled !== "undefined") { + root._updatesOptimized = true; + blurWallpaperWindow.updatesEnabled = Qt.binding(() => root.effectActive || root._renderSettling || currentWallpaper.status === Image.Loading || nextWallpaper.status === Image.Loading); + } + } } onSourceChanged: {