<div dir="ltr"><div>We had a meeting. It resulted in some final action decisions. <br></div><div>These will affect the kwayland folder in frameworks.</div><div><br></div><div>The meeting was attended by: Kevin Ottens, Vlad Zahorodnii, Aleix Pol, Myself, Benjamin Port who all approved the plan.<br></div><br><b>Protocols:</b><br><br>We make a new repo. It will contain just protocol XML files. <br><br>plasma-wayland-protocols - target is kdesupport. <br><br>Existing protocols remain exactly the same, just moved<br><div>New protocols follow upstream wayland-protocols naming scheme using the "zkde_" prefix</div><div><br></div><div></div><div><p><strong>Client - short term:</strong></p><p>We leave things unchanged.<br></p><p>Kwin tests will continue to use KWayland::Client as is, the upcoming fork KWayalndServer (mentioned in a bit) will stil use it.</p><p>If something comes up that requires an ABI break or new classes from client (XdgShell for example) we deal with it locally in the relevant repo as per the longer term plan.</p><p>We slowly migrate to the long term plan.</p><p><br></p><p><strong>Client - long term direction:</strong></p><p>If something is used in N places - we should abstract things in a high level API like KWindowSystem.</p><p>If it's used in 1 place, we go native with QtWayalndClientExtension and the generated classes.</p><p>Autotests for the server should use generated low-level classes, see for example the currently merged tabletmanager autotest. If we need something in kwin and KWaylandServer, we just do it in both. </p><p>Client will still have a KF6 library for doing super core stuff such as ConnectionThread, wl_surface, buffers etc. It won't contain all the extra protocols. <br></p><p>At KF6 we rename namespace and repo to KWaylandClient.</p><p><br></p><p><strong>Server - short term:</strong></p><p>We make a new repo. It forks existing KWayland::server classes from framework's kwayland + the autotests. This goes into kwaylandserver</p><ul><li><p>put in workspace</p></li><li><p>no ABI/API guarantees, but released in sync with kwin<br></p></li><li><p>.so bumps each time</p></li><li><p>new namespace (i.e KWaylandServer)  </p></li><li><p>Institute a complete freeze of the server folder in KF5</p></li></ul><p><strong>Server - long term direction:</strong></p><ul><li>Unit tests  migrate to testing against just generated code for the extra protocols<br></li></ul><ul><li>Drop Interface suffix in class names.<br></li></ul><ul><li>Drop from KF6</li></ul><p><br></p><p>I'm very hopefully this will really help spur our kwin and wayland efforts as well as prepare us for KF6.<br></p><p><br></p><p>Regards<br></p><p>David<br></p></div></div>