D29024: feat(wayland): support multiple protocol extensions through plugin system
Roman Gilg
noreply at phabricator.kde.org
Mon Apr 20 21:49:49 BST 2020
romangg added inline comments.
INLINE COMMENTS
> CMakeLists.txt:28
> + TARGETS LibkscreenWaylandPluginKWayland
> + DESTINATION ${PLUGIN_INSTALL_DIR}/org.kde.libkscreen.backends/wayland/
> +)
That directory fine or are there other suggestions? I would like to centralize over time all plugins libkscreen seems to install at random locations in a single one so that's why there is the wayland subdirectory.
> waylandconfig.cpp:155
>
> - const auto features = Config::Feature::Writable | Config::Feature::PerOutputScaling
> - | Config::Feature::AutoRotation | Config::Feature::TabletMode;
> - m_kscreenConfig->setSupportedFeatures(features);
> - m_kscreenConfig->setValid(m_connection->display());
> -
> - KScreen::ScreenPtr screen = m_kscreenConfig->screen();
> - m_screen->updateKScreenScreen(screen);
> -
> - //Removing removed outputs
> - const KScreen::OutputList outputs = m_kscreenConfig->outputs();
> - for (const auto &output : outputs) {
> - if (!m_outputMap.contains(output->id())) {
> - m_kscreenConfig->removeOutput(output->id());
> - }
> + // TODO: qobject_cast not working here. Why?
> + auto *factory = dynamic_cast<WaylandFactory*>(plugin->instantiate());
Someone having an idea about that? In general the plugin system is kinda funky. The thing returned is a singleton and gets returned whenever instantiate is called (that's why there is a factory to then generate objects on the heap).
REPOSITORY
R110 KScreen Library
REVISION DETAIL
https://phabricator.kde.org/D29024
To: romangg, #plasma
Cc: 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20200420/21de2b18/attachment.html>
More information about the Plasma-devel
mailing list