From 01e1248a98b71c7b760b2bcf541f94de4e4fa69d Mon Sep 17 00:00:00 2001 From: Craig Watson Date: Mon, 5 Sep 2016 19:42:10 -0400 Subject: [PATCH] Fix for cloned displays being considered as multiple displays on Linux --- src/core/UBDisplayManager.cpp | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/core/UBDisplayManager.cpp b/src/core/UBDisplayManager.cpp index 8176da50..4b8e1e65 100644 --- a/src/core/UBDisplayManager.cpp +++ b/src/core/UBDisplayManager.cpp @@ -120,7 +120,16 @@ int UBDisplayManager::numScreens() { if (mUseMultiScreen) { - return mDesktop->screenCount(); + int screenCount = mDesktop->screenCount(); + // Some window managers report two screens when the two monitors are in "cloned" mode; this hack ensures + // that we consider this as just one screen. +#ifdef Q_OS_LINUX + if (screenCount > 1 + && (mDesktop->screenNumber(mDesktop->screen(0)) == mDesktop->screenNumber(mDesktop->screen(1)))) + return 1; + else +#endif + return screenCount; } else {