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