+ // Client options
+ if (runMode() != RunMode::CoreOnly) {
+ options += {
+ {"icontheme", tr("Override the system icon theme ('breeze' is recommended)."), tr("theme")},
+ {"qss", tr("Load a custom application stylesheet."), tr("file.qss")},
+ {"hidewindow", tr("Start the client minimized to the system tray.")},
+ {"account", tr("Account id to connect to on startup."), tr("account"), "0"},
+ };
+ }
+
+ // Core options
+ if (runMode() != RunMode::ClientOnly) {
+ options += {
+ {"listen", tr("The address(es) quasselcore will listen on."), tr("<address>[,<address>[,...]]"), "::,0.0.0.0"},
+ {{"p", "port"}, tr("The port quasselcore will listen at."), tr("port"), "4242"},
+ {{"n", "norestore"}, tr("Don't restore last core's state.")},
+ {"config-from-environment", tr("Load configuration from environment variables.")},
+ {"select-backend", tr("Switch storage backend (migrating data if possible)."), tr("backendidentifier")},
+ {"select-authenticator", tr("Select authentication backend."), tr("authidentifier")},
+ {"add-user", tr("Starts an interactive session to add a new core user.")},
+ {"change-userpass",
+ tr("Starts an interactive session to change the password of the user identified by <username>."),
+ tr("username")},
+ {"strict-ident", tr("Use users' quasselcore username as ident reply. Ignores each user's configured ident setting.")},
+ {"ident-daemon", tr("Enable internal ident daemon.")},
+ {"ident-port",
+ tr("The port quasselcore will listen at for ident requests. Only meaningful with --ident-daemon."),
+ tr("port"),
+ "10113"},
+ {"ident-listen", tr("The address(es) quasselcore will listen on for ident requests. Same format as --listen."), tr("<address>[,...]"), "::1,127.0.0.1"},
+ {"oidentd", tr("Enable oidentd integration. In most cases you should also enable --strict-ident.")},
+ {"oidentd-conffile", tr("Set path to oidentd configuration file."), tr("file")},
+ {"proxy-cidr", tr("Set IP range from which proxy protocol definitions are allowed"), tr("<address>[,...]"), "::1,127.0.0.1"},
+ {"require-ssl", tr("Require SSL for remote (non-loopback) client connections.")},
+ {"ssl-cert", tr("Specify the path to the SSL certificate."), tr("path"), "configdir/quasselCert.pem"},
+ {"ssl-key", tr("Specify the path to the SSL key."), tr("path"), "ssl-cert-path"},
+ {"metrics-daemon", tr("Enable metrics API.")},
+ {"metrics-port", tr("The port quasselcore will listen at for metrics requests. Only meaningful with --metrics-daemon."), tr("port"), "9558"},
+ {"metrics-listen", tr("The address(es) quasselcore will listen on for metrics requests. Same format as --listen."), tr("<address>[,...]"), "::1,127.0.0.1"}
+ };
+ }
+
+ // Logging options
+ options += {
+ {{"L", "loglevel"}, tr("Supports one of Debug|Info|Warning|Error; default is Info."), tr("level"), "Info"},
+ {{"l", "logfile"}, tr("Log to a file."), "path"},
+#ifdef HAVE_SYSLOG
+ {"syslog", tr("Log to syslog.")},