diff options
-rw-r--r-- | src/main-lib/defaultconfiguration.cpp | 17 | ||||
-rw-r--r-- | src/window-lib/windowmanager.cpp | 6 |
2 files changed, 19 insertions, 4 deletions
diff --git a/src/main-lib/defaultconfiguration.cpp b/src/main-lib/defaultconfiguration.cpp index c79da1d7..6ee6b2e0 100644 --- a/src/main-lib/defaultconfiguration.cpp +++ b/src/main-lib/defaultconfiguration.cpp @@ -42,6 +42,7 @@ #include <QFileInfo> #include <QCoreApplication> +#include <QFile> #include <QDebug> #include <QtAppManCommon/logging.h> @@ -447,7 +448,21 @@ int DefaultConfiguration::quickLaunchRuntimesPerContainer() const QString DefaultConfiguration::waylandSocketName() const { - return value<QString>("wayland-socket-name"); + const QString socket = m_clp.value(qSL("wayland-socket-name")); // get the default value + if (!socket.isEmpty()) + return socket; + + const char *envName = "WAYLAND_DISPLAY"; + if (qEnvironmentVariableIsSet(envName)) + return qEnvironmentVariable(envName); + + const QString lockPattern = qEnvironmentVariable("XDG_RUNTIME_DIR") + qSL("/qtam-wayland-%1.lock"); + for (int i = 0; i < 32; ++i) { + QFile lock(lockPattern.arg(i)); + if (lock.open(QIODevice::ReadWrite | QIODevice::NewOnly)) + return qSL("qtam-wayland-%1").arg(i); + } + return QString(); } QString DefaultConfiguration::telnetAddress() const diff --git a/src/window-lib/windowmanager.cpp b/src/window-lib/windowmanager.cpp index 19297bdd..096db273 100644 --- a/src/window-lib/windowmanager.cpp +++ b/src/window-lib/windowmanager.cpp @@ -570,7 +570,7 @@ void WindowManager::registerCompositorView(QQuickWindow *view) // export the actual socket name for our child processes. qputenv("WAYLAND_DISPLAY", d->waylandCompositor->socketName()); - qCDebug(LogGraphics).nospace() << "WindowManager: running in Wayland mode [socket: " + qCInfo(LogGraphics).nospace() << "WindowManager: running in Wayland mode [socket: " << d->waylandCompositor->socketName() << "]"; ApplicationManager::instance()->setWindowManagerCompositorReady(true); } else { @@ -578,11 +578,11 @@ void WindowManager::registerCompositorView(QQuickWindow *view) } } else { if (!once) - qCDebug(LogGraphics) << "WindowManager: running in single-process mode [forced at run-time]"; + qCInfo(LogGraphics) << "WindowManager: running in single-process mode [forced at run-time]"; } #else if (!once) - qCDebug(LogGraphics) << "WindowManager: running in single-process mode [forced at compile-time]"; + qCInfo(LogGraphics) << "WindowManager: running in single-process mode [forced at compile-time]"; #endif emit compositorViewRegistered(view); |