<table><tr><td style="">hein updated this revision to Diff 34702.<br />hein added a comment.
</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/D13058">View Revision</a></tr></table><br /><div><div><p>It turns out Wine installs its Windows Program Loader as a wine.desktop<br />
file, which is useful to "Open With" .exe files, but means if Wine doesn't<br />
set a WM_CLASS that we can find a .desktop file by StartupWMClass for, we<br />
map windows to this wine.desktop, which leads to a crappy UX.</p>
<p>This wine.desktop file thankfully sets NoDisplay=true, so let's expand<br />
on our cautious earlier decision to check for NoDisplay only when looking<br />
inside .desktop files, to also check NoDisplay when matching by .desktop<br />
file name.</p>
<p>The StartupWMClass handling still doesn't check for NoDisplay, so an app<br />
dev can force to a NoDisplay .desktop by setting StartupWMClass (in keep-<br />
ing with the earlier decision to trust StartupWMClass as an overriding<br />
directive).</p>
<p>The Rewrite Rules engine similarly doesn't check for NoDisplay so you<br />
need to know what you're doing when writing rules. It didn't seem good<br />
to restrict it in some way, since the entire point of Rewrite Rules is<br />
to be able to override compiled code behavior.</p>
<p>I can't see any downside to checking NoDisplay for the .desktop file<br />
name match part, since those are the "vanilla case" blocks where we<br />
try to associate windows with apps on the menu.</p></div></div><br /><div><strong>REPOSITORY</strong><div><div>R120 Plasma Workspace</div></div></div><br /><div><strong>CHANGES SINCE LAST UPDATE</strong><div><a href="https://phabricator.kde.org/D13058?vs=34699&id=34702">https://phabricator.kde.org/D13058?vs=34699&id=34702</a></div></div><br /><div><strong>BRANCH</strong><div><div>Plasma/5.12</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D13058">https://phabricator.kde.org/D13058</a></div></div><br /><div><strong>AFFECTED FILES</strong><div><div>libtaskmanager/taskmanagerrulesrc<br />
libtaskmanager/tasktools.cpp</div></div></div><br /><div><strong>To: </strong>hein, broulik, davidedmundson<br /><strong>Cc: </strong>plasma-devel, ragreen, Pitel, ZrenBot, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, mart<br /></div>