From dfde4628e3cefc6d7e0b3f16eea405a98c558d4d Mon Sep 17 00:00:00 2001 From: Luke Parker <10430890+Hona@users.noreply.github.com> Date: Sat, 19 Sep 2026 10:34:04 +1000 Subject: [PATCH] perf(desktop): only persist the background colour when it changes (#49770) --- packages/desktop/src/main/windows/appearance.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/desktop/src/main/windows/appearance.ts b/packages/desktop/src/main/windows/appearance.ts index ac36abc9851..965dac1febd 100644 --- a/packages/desktop/src/main/windows/appearance.ts +++ b/packages/desktop/src/main/windows/appearance.ts @@ -58,8 +58,10 @@ export function setDockIcon(path: Path.Path, paths: DesktopPaths.Resolved) { } export function setBackgroundColor(color: string) { + // The renderer reports its theme background on every boot; electron-store rewrites and fsyncs the + // settings file on each set, so only persist a change. + if (getBackgroundColor() !== color) getStore().set(BACKGROUND_COLOR_KEY, color) backgroundColor = color - getStore().set(BACKGROUND_COLOR_KEY, color) BrowserWindow.getAllWindows().forEach((win) => { win.setBackgroundColor(color) if (process.platform === "darwin") win.invalidateShadow()