romangg added a comment.
In D29024#653096 <https://phabricator.kde.org/D29024#653096>, @davidedmundson wrote: > KScreen already is a plugin system. You mean libkscreen? It has a plugin system for differentiating between windowing systems, yes. > We don't need to go all inception, and have a plugin load plugins. It doesn't look to bring anything other than complexity. > > If there is any duplication, we can just add some extra base classes in the lib using the split you've done above that the plugin can inherit from. That's not a practical solution. The windowing system plugins are chosen on the basis of Qt platform name <https://cgit.kde.org/libkscreen.git/tree/src/backendmanager.cpp#n135> without running any async requests. But we need to check in async communication with the Wayland compositor which protocol is supported, select that one and cleanup the other ones. For that at least one Wayland event loop has to be launched. Trying to implement that on the higher level of the previously available plugins not needing such a runtime setup would be ill-advised. REPOSITORY R110 KScreen Library REVISION DETAIL https://phabricator.kde.org/D29024 To: romangg, #plasma Cc: davidedmundson, plasma-devel, Orage, LeGast00n, The-Feren-OS-Dev, cblack, jraleigh, zachus, fbampaloukas, ragreen, ZrenBot, ngraham, himcesjf, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, ahiemstra, mart