<table><tr><td style="">hein created this revision.<br />Restricted Application added a project: Plasma.
</td><a style="text-decoration: none; padding: 4px 8px; margin: 0 8px 8px; float: right; color: #464C5C; font-weight: bold; border-radius: 3px; background-color: #F7F7F9; background-image: linear-gradient(to bottom,#fff,#f1f0f1); display: inline-block; border: 1px solid rgba(71,87,120,.2);" href="https://phabricator.kde.org/D7092" rel="noreferrer">View Revision</a></tr></table><br /><div><strong>REVISION SUMMARY</strong><div><p>Windows we can't find an app icon for using the normal means<br />
get the icon used by the windowing system in the Task Manager.<br />
This fallback icon was then not updated when changed on the<br />
window, only occasionally as a side-effect of cache evictions<br />
and model data requests.</p>

<p>This patch notes which windows hit the fallback path, and for<br />
those windows evicts the cache when the icon changes on the<br />
window, causing it to be re-retrieved from the windowing system<br />
as views respond to the dataChanged signal for the decoration<br />
role.</p>

<p>Evicting the entire cache is a little bit costly, but:</p>

<ul class="remarkup-list">
<li class="remarkup-list-item">This is a fallback codepath.</li>
<li class="remarkup-list-item">Apps conventionally update title and icon in one go, meaning the cache is often already getting evicted anyway.</li>
<li class="remarkup-list-item">Icons don't change that often.</li>
</ul>

<p>BUG:383017</p></div></div><br /><div><strong>REPOSITORY</strong><div><div>R120 Plasma Workspace</div></div></div><br /><div><strong>BRANCH</strong><div><div>master</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D7092" rel="noreferrer">https://phabricator.kde.org/D7092</a></div></div><br /><div><strong>AFFECTED FILES</strong><div><div>libtaskmanager/xwindowtasksmodel.cpp</div></div></div><br /><div><strong>To: </strong>hein, Plasma, davidedmundson<br /><strong>Cc: </strong>plasma-devel, ZrenBot, progwolff, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, mart, lukas<br /></div>