diff --git a/src/apps/deskflow-gui/deskflow-gui.cpp b/src/apps/deskflow-gui/deskflow-gui.cpp index 69a3312ec..e55b6d0c4 100644 --- a/src/apps/deskflow-gui/deskflow-gui.cpp +++ b/src/apps/deskflow-gui/deskflow-gui.cpp @@ -36,6 +36,8 @@ using namespace deskflow::gui; bool checkMacAssistiveDevices(); #endif +const static auto kHeader = QStringLiteral("%1: %2\n").arg(kAppName, kDisplayVersion); + int main(int argc, char *argv[]) { #if defined(Q_OS_UNIX) && defined(QT_DEBUG) @@ -63,15 +65,19 @@ int main(int argc, char *argv[]) parser.addOption(resetOption); parser.parse(QCoreApplication::arguments()); - const auto header = QStringLiteral("%1: %2\n").arg(kAppName, kDisplayVersion); - if (parser.isSet(helpOption) || !parser.unknownOptionNames().isEmpty() || !parser.errorText().isEmpty()) { - QTextStream(stdout) << header << QStringLiteral(" %1\n\n").arg(kAppDescription) + if (!parser.errorText().isEmpty()) { + qCritical().noquote() << parser.errorText() << "\nUse --help for more information."; + return 1; + } + + if (parser.isSet(helpOption)) { + QTextStream(stdout) << kHeader << QStringLiteral(" %1\n\n").arg(kAppDescription) << parser.helpText().replace(QApplication::applicationFilePath(), kAppId); return 0; } if (parser.isSet(versionOption)) { - QTextStream(stdout) << header << kCopyright << Qt::endl; + QTextStream(stdout) << kHeader << kCopyright << Qt::endl; return 0; }