broulik added inline comments. INLINE COMMENTS
> fvogt wrote in startplasma-wayland.cpp:41 > AFAICT this won't work as expected: localed is only launched on demand, which > `isServiceRegistered` does not care about. Indeed. When it's not registered, query "org.freedesktop.DBus", "/org/freedesktop/DBus", "org.freedesktop.DBus", "ListActivatableNames" (unfortunately no Qt API for that) and then call `startService()` > startplasma-wayland.cpp:43 > + auto queryAndSet = [](const QByteArray &var, const QByteArray & > value) { > + QDBusInterface iface(QStringLiteral("org.freedesktop.locale1"), > QStringLiteral("/org/freedesktop/locale1"), > QStringLiteral("org.freedesktop.locale1"), QDBusConnection::systemBus()); > + Please use a DBus-interface generated from XML instead of `QDBusInterface` to avoid doing a blocking introspection call. You also might want to move the object outside the lamda so it's not recreated for every call you do below. > startplasma-x11.cpp:78 > + qputenv("GDK_SCALE", screenScaleFactors); > + qputenv("GDK_DPI_SCALE", > QByteArray::number(1/screenScaleFactors.toInt(), 'g', 3)); > + } Won't that do an integer division? > startplasma.cpp:82 > + QStringList filteredFiles; > + std::copy_if(files.begin(), files.end(), > std::back_inserter(filteredFiles), [](const QString& i){ return > QFileInfo(i).isReadable(); } ); > + Should we also check for executable permission? > startplasma.cpp:241 > + > + runSync(QStringLiteral("xsetroot"), {QStringLiteral("-cursor_name"), > QStringLiteral("left_ptr")}); > + runSync(QStringLiteral("xprop"), {QStringLiteral("-root"), > QStringLiteral("-f"), QStringLiteral("KDE_FULL_SESSION"), > QStringLiteral("8t"), QStringLiteral("-set"), > QStringLiteral("KDE_FULL_SESSION"), QStringLiteral("true")}); Would it make a difference using libxcb for this instead of spawning an external process synchronously here? > startplasma.cpp:293 > + > +static bool dl = false; > + descriptive variable name, please. > startplasma.cpp:308 > + p = new QProcess; > + p->start(QStringLiteral("ksplashqml"), { > ksplashCfg.readEntry("Theme", QStringLiteral("Breeze")) }); > + } KSplash internally forks and prints the PID on stdout which doesn't seem neccessary anymore with this new code. (Optimization for the future maybe) REPOSITORY R120 Plasma Workspace REVISION DETAIL https://phabricator.kde.org/D21725 To: apol, #plasma, fvogt Cc: broulik, fvogt, davidedmundson, plasma-devel, LeGast00n, ericadams, jraleigh, GB_2, ragreen, Pitel, ZrenBot, himcesjf, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, mart