From fa71508066128124feb1b1110ca8e8f65e831508 Mon Sep 17 00:00:00 2001 From: "Danilo M." Date: Tue, 10 Nov 2026 10:32:59 +0100 Subject: fix: window list flicker and icons missing from the icon theme The Windows tab rebuilt every row once a second, and each rebuild walked every window icon through its fallback names again, so the rows blinked. It now re-renders only when the state changed. Icon lookup only searched the configured theme, so an app the theme lacks (pcmanfm-qt under candy-icons) lost its icon and showed its label. It now falls back to hicolor, as the icon theme spec does, in hicolor's size/category layout. Co-Authored-By: Claude Opus 5.5 --- static/modules/windows.js | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'static/modules') diff --git a/static/modules/windows.js b/static/modules/windows.js index d3e882e..7404f03 100644 --- a/static/modules/windows.js +++ b/static/modules/windows.js @@ -110,6 +110,11 @@ export default { }, update(st, el) { + // Polled every second: rebuilding unchanged rows reloads every icon + // through its fallbacks, which flickers, so only a change re-renders. + const key = JSON.stringify(st); + if (key === el._last) return; + el._last = key; const ws = el.querySelector(".ws"); ws.textContent = ""; for (const id of st.workspaces ?? []) { -- cgit v1.2.3