fix(w-engine): sync palette when restoring wallpaper on startup
The startup restore relaunched linux-wallpaperengine for the last selected wallpaper but never re-applied the still that Noctalia derives its palette from, so colors after login came from whatever wallpaper the shell restored on its own. Every other path that puts a wallpaper up pairs launch() with syncPalette(); this one now does too. Switching wallpapers away and back was the only way to correct it, since that runs apply().
This commit is contained in:
+5
-1
@@ -791,13 +791,17 @@ publishStatus()
|
||||
noctalia.runAsync(
|
||||
"pkill linux-wallpaper 2>/dev/null; sleep 1; pkill -KILL linux-wallpaper 2>/dev/null; true",
|
||||
function()
|
||||
-- Bring back whatever was playing before the reload, cycle included.
|
||||
-- Bring back whatever was playing before the reload, cycle included. The
|
||||
-- palette is re-synced alongside the process: the shell restores its own
|
||||
-- wallpaper on login, which drops the still we set for the live scene and
|
||||
-- leaves the colors from whatever it picked instead.
|
||||
for _, output in ipairs(noctalia.outputs()) do
|
||||
local name = output.name
|
||||
local id = data.current[name]
|
||||
if type(id) == "string" and id ~= "" then
|
||||
elapsed[name] = 0
|
||||
launch(name, id)
|
||||
syncPalette(name, id)
|
||||
end
|
||||
end
|
||||
publishStatus()
|
||||
|
||||
Reference in New Issue
Block a user