diff --git a/shell/main.cpp b/shell/main.cpp --- a/shell/main.cpp +++ b/shell/main.cpp @@ -90,7 +90,7 @@ KSharedConfig::Ptr startupConf = KSharedConfig::openConfig(QStringLiteral("plasmashellrc")); KConfigGroup startupConfGroup(startupConf, "Shell"); - const QString defaultShell = startupConfGroup.readEntry("ShellPackage", "org.kde.plasma.desktop"); + const QString defaultShell = startupConfGroup.readEntry("ShellPackage", qEnvironmentVariable("PLASMA_DEFAULT_SHELL", "org.kde.plasma.desktop")); bool replace = false; { diff --git a/startkde/startplasma-wayland.cpp b/startkde/startplasma-wayland.cpp --- a/startkde/startplasma-wayland.cpp +++ b/startkde/startplasma-wayland.cpp @@ -23,7 +23,7 @@ #include #include -int main(int /*argc*/, char** /*argv*/) +int main(int argc, char** argv) { createConfigDirectory(); setupCursor(true); @@ -82,7 +82,16 @@ return 1; } - runSync(QStringLiteral(KWIN_WAYLAND_BIN_PATH), { QStringLiteral("--xwayland"), QStringLiteral("--libinput"), QStringLiteral("--exit-with-session=" CMAKE_INSTALL_FULL_LIBEXECDIR "/startplasma-waylandsession") }); + QStringList args; + if (argc > 1) { + args.reserve(argc); + for (int i = 1; i < argc; ++i) { + args << QString::fromLocal8Bit(argv[i]); + } + } else { + args = QStringList { QStringLiteral("--xwayland"), QStringLiteral("--libinput"), QStringLiteral("--exit-with-session=" CMAKE_INSTALL_FULL_LIBEXECDIR "/startplasma-waylandsession") }; + } + runSync(QStringLiteral(KWIN_WAYLAND_BIN_PATH), args); out << "startplasmacompositor: Shutting down...\n"; cleanupPlasmaEnvironment();