// velox-gui entry point. Lane GUI. #include #include #include #include #include #include #include "mainwindow/MainWindow.hpp" #include "rpc/Protocol.hpp" #include "rpc/RpcClient.hpp" namespace { QString defaultSocketPath() { const QString override = qEnvironmentVariable("VELOX_SOCK"); if (!override.isEmpty()) { return override; } QString runtimeDir = qEnvironmentVariable("XDG_RUNTIME_DIR"); if (runtimeDir.isEmpty()) { runtimeDir = QStringLiteral("/run/user/%1").arg(getuid()); } return runtimeDir + QStringLiteral("/velox/velox.sock"); } } // namespace int main(int argc, char **argv) { QApplication app(argc, argv); QApplication::setApplicationName(QStringLiteral("velox-gui")); QApplication::setOrganizationName(QStringLiteral("velox")); QApplication::setApplicationVersion(QStringLiteral("0.1.0")); qRegisterMetaType(); qRegisterMetaType(); // i18n from the first commit: load the bundled catalogue for the system locale. // The Arabic stub (i18n/velox_ar.ts) exists to prove the RTL layout survives. QTranslator translator; const QString locale = QLocale::system().name(); if (translator.load(QStringLiteral("velox_") + locale, QStringLiteral(":/i18n"))) { app.installTranslator(&translator); } velox::gui::rpc::RpcClient client(defaultSocketPath()); velox::gui::MainWindow window(&client); window.show(); client.start(); return QApplication::exec(); }