diff --git a/initialstart/modules/prepare/prepareutil.cpp b/initialstart/modules/prepare/prepareutil.cpp index ec3c8a14..409af2cf 100644 --- a/initialstart/modules/prepare/prepareutil.cpp +++ b/initialstart/modules/prepare/prepareutil.cpp @@ -36,14 +36,15 @@ void PrepareUtil::initKScreen(std::function callback) // To determine the scaling value: // Try to take the primary display's scaling, otherwise use the scaling of any of the displays + int lowestPriority = std::numeric_limits::max(); for (KScreen::OutputPtr output : m_config->outputs()) { if (!output) { continue; } - scaling = output->scale() * 100; - m_output = output->id(); - if (output->isPrimary()) { - break; + if (output->priority() <= lowestPriority) { + lowestPriority = output->priority(); + scaling = output->scale() * 100; + m_output = output->id(); } }