<div>graesslin created this revision.<br />
graesslin added a reviewer: Plasma.<br />
Herald added a project: Plasma.<br />
Herald added a subscriber: plasma-devel.</div><br /><div><strong>REVISION SUMMARY</strong><div><p>While developing support for sub-surfaces it became obvious that there<br />
is a need for visualizing the tree of sub-surfaces.</p>

<p>The surface-tree is a new mode added in the debug console. There are now<br />
two buttons to switch between the default window tree and the surface<br />
tree.</p>

<p>The surface tree is a little bit more basic than the windows tree. The<br />
type of window (whether x11, wayland or internal) is ignored. All windows<br />
build up the top level with the sub surfaces as children.</p>

<p>Each surface is represented by some basic information about it:</p>

<ul class="remarkup-list">
<li class="remarkup-list-item">Client (binary path and pid)</li>
<li class="remarkup-list-item">internal surface id</li>
</ul>

<p>If the surface has a shared memory buffer mapped a scaled down version<br />
is used as the window decoration role.</p>

<p>The model gets reset whenever the tree changes in some way as it's<br />
rather complex to track correctly and well, it's just a debug console.</p>

<p>Currently the tree is not really functional yet as KWin doesn't announce<br />
support for sub-compositor protocol, which is also the reason for lack of<br />
autotests for the model. Will be added once sub-compositor works<br />
properly.</p></div></div><br /><div><strong>REPOSITORY</strong><div><div>rKWIN KWin</div></div></div><br /><div><strong>BRANCH</strong><div><div>debug-console-surface-tree</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D1205" rel="noreferrer">https://phabricator.kde.org/D1205</a></div></div><br /><div><strong>AFFECTED FILES</strong><div><div>debug_console.cpp<br />
debug_console.h<br />
debug_console.ui</div></div></div><br /><div><strong>EMAIL PREFERENCES</strong><div><a href="https://phabricator.kde.org/settings/panel/emailpreferences/" rel="noreferrer">https://phabricator.kde.org/settings/panel/emailpreferences/</a></div></div><br /><div><strong>To: </strong>graesslin, Plasma<br /><strong>Cc: </strong>plasma-devel<br /></div>