aboutsummaryrefslogtreecommitdiffstats
path: root/static/modules
diff options
context:
space:
mode:
authorDanilo M. <danix@danix.xyz>2026-11-10 10:32:59 +0100
committerDanilo M. <danix@danix.xyz>2026-11-10 10:32:59 +0100
commitfa71508066128124feb1b1110ca8e8f65e831508 (patch)
tree43b8c0191d9776f6009d2986e5f657b46fb59584 /static/modules
parent819745a39220b49e848422b4bf0ee71dc317fc4d (diff)
downloaddeck-it-fa71508066128124feb1b1110ca8e8f65e831508.tar.gz
deck-it-fa71508066128124feb1b1110ca8e8f65e831508.zip
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 <noreply@anthropic.com>
Diffstat (limited to 'static/modules')
-rw-r--r--static/modules/windows.js5
1 files changed, 5 insertions, 0 deletions
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 ?? []) {