From 4edadbd2c2b59ad2112ba9b75e09fb20eca34fb6 Mon Sep 17 00:00:00 2001 From: rope Date: Wed, 21 Oct 2026 19:08:47 +0100 Subject: [PATCH] quickshell: load wallpaper state synchronously Co-Authored-By: Claude Opus 5.5 --- settings/quickshell.nix | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/settings/quickshell.nix b/settings/quickshell.nix index ac133fb..52e9450 100644 --- a/settings/quickshell.nix +++ b/settings/quickshell.nix @@ -611,6 +611,15 @@ in property string name: "${defaultWall}" } onLoadFailed: if (path !== "") writeAdapter() + // blockLoading alone does NOT make this synchronous: + // preload already started an async read when path was + // set, and a JsonAdapter only waits for dataChanged — it + // never calls text(), the one read blockLoading gates. + // Without this, shell.qml's startup applyTheme() saw the + // default wallpaper, then the real one a moment later, + // and two concurrent theme-apply runs raced for the + // Hyprland borders. text() here joins the in-flight read. + Component.onCompleted: text() } // Unknown name (wallpaper deleted from the repo since it was