Brooklyn/plasma/workspace/startkde/systemd/kde-systemd-start-condition.cpp
2022-03-05 22:41:29 +05:00

42 lines
1.3 KiB
C++

/*
SPDX-FileCopyrightText: 2020 Henri Chain <henri.chain@enioka.com>
SPDX-License-Identifier: GPL-2.0-or-later
*/
#include "../plasmaautostart/plasmaautostart.h"
#include <QCommandLineOption>
#include <QCommandLineParser>
#include <QCoreApplication>
int main(int argc, char **argv)
{
QCoreApplication app(argc, argv);
// If invoked on gnome we should always return success
// this is because a desktop file that has X-KDE-AutostartCondition
// probably has an X-Gnome- equivalent and we only want one to run
// this would match non systemd behaviour
if (!qEnvironmentVariable("XDG_CURRENT_DESKTOP").split(QLatin1Char(':')).contains("kde", Qt::CaseInsensitive)) {
return 0;
}
QCommandLineParser parser;
parser.setApplicationDescription(QStringLiteral("Checks start condition for a KDE systemd service"));
parser.addHelpOption();
QCommandLineOption option{QStringLiteral("condition"),
QStringLiteral("start condition, in the format 'rcfile:group:entry:default'."),
QStringLiteral("condition")};
parser.addOption(option);
parser.process(app);
if (!parser.isSet(option)) {
parser.showHelp(255);
}
if (PlasmaAutostart::isStartConditionMet(parser.value(option))) {
return 0;
} else {
return 1;
}
}