aboutsummaryrefslogtreecommitdiffstats
path: root/desktop/modules/appearance/Tab.qml
diff options
context:
space:
mode:
authorDanilo M. <danix@danix.xyz>2026-10-29 12:37:47 +0100
committerDanilo M. <danix@danix.xyz>2026-10-29 12:37:47 +0100
commitcc91156f9f564b2a3265ad530116a999ffe2122b (patch)
tree68c97f00c36671b59ce6563ac91d55469a041ccd /desktop/modules/appearance/Tab.qml
parent4d1c5acf5748b9a9b9b40cfb6ee1118593bacecd (diff)
downloadquickshell-cc91156f9f564b2a3265ad530116a999ffe2122b.tar.gz
quickshell-cc91156f9f564b2a3265ad530116a999ffe2122b.zip
wallpaper: burn the old picture away on Apply
swaybg has no transitions: wallp kills the running one and starts a new one, which can show a frame of nothing in between. WallpaperSpread puts a click-through surface on the bottom layer of each screen, above swaybg and below every window, holding the old picture while wallp runs. A shader burns it away over the new one: each pixel's threshold mixes its distance from a random starting point with fractal noise, and a flame and char band runs just ahead of the front. The surface goes once wallp has exited, or at once if it failed, since a failed set may have left either picture. Wallpapers.apply() announces each swap with the old path before wallp runs, while current still names it. Sets from a terminal get no effect: by the time wall_h changes, swaybg has already swapped. The animation is linear, 3.5s: an ease spent its slow ends where nothing was left to burn, and read as well under the 2.6s it was given. The compiled .qsb is committed beside its source, since nothing builds it. AGENTS.md gains the shader cache trap hit on the way: a running shell keeps a shader by URL, so a recompiled .qsb under the same name is ignored. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Diffstat (limited to 'desktop/modules/appearance/Tab.qml')
0 files changed, 0 insertions, 0 deletions