<div>graesslin created this revision.<br />
graesslin added a reviewer: Plasma.<br />
Restricted Application added a project: Plasma.<br />
Restricted Application added a subscriber: plasma-devel.</div><br /><div><strong>REVISION SUMMARY</strong><div><p>This change introduces support for the unstable xdg-shell interface in<br />
the server. The implementation is based on version 5 of the unstable<br />
interface. This is the version used by toolkits like e.g. GTK.</p>

<p>There is also a version 6 of the protocol under development which is<br />
incompatible. This makes it difficult to implement it in a backward<br />
compatible way.</p>

<p>Because of that the implementation is a little bit different to other<br />
interfaces:</p>

<ul class="remarkup-list">
<li class="remarkup-list-item">there is no client implementation</li>
<li class="remarkup-list-item">the interface version number is encoded in the class names</li>
</ul>

<p>The idea is that once v6 stabilized we implement that and call it<br />
XdgShell. At the same time this class will be deprecated, but users of<br />
the library can still make use of it.</p>

<p>As we can expect many areas to be the same between v5 and v6 and also<br />
with WlShell code of the Private class is split out into a templated<br />
class which implements the same aspects in a generic way.</p>

<p>To not need a copy of the protocol, KWayland depends on the new<br />
wayland-protocols.</p>

<p>An implementation of client side is part of the auto tests, though.</p></div></div><br /><div><strong>REPOSITORY</strong><div><div>rKWAYLAND KWayland</div></div></div><br /><div><strong>BRANCH</strong><div><div>xdg-shell</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D1506" rel="noreferrer">https://phabricator.kde.org/D1506</a></div></div><br /><div><strong>AFFECTED FILES</strong><div><div>CMakeLists.txt<br />
autotests/server/CMakeLists.txt<br />
autotests/server/test_xdg_shell_v5.cpp<br />
autotests/server/xdg_shell_v5.cpp<br />
autotests/server/xdg_shell_v5.h<br />
src/server/CMakeLists.txt<br />
src/server/display.cpp<br />
src/server/display.h<br />
src/server/generic_shell_surface_p.h<br />
src/server/shell_interface.cpp<br />
src/server/shell_interface.h<br />
src/server/xdg_shell_v5_interface.cpp<br />
src/server/xdg_shell_v5_interface.h<br />
src/tools/mapping.txt</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, sebas<br /></div>