From 709304c99c4acd40719166022c27b85c2f415f40 Mon Sep 17 00:00:00 2001 From: Marco Allegretti Date: Mon, 4 May 2026 08:43:04 +0200 Subject: [PATCH] Restore convergence mode after undocking Track docked state transitions in KScreenOSDProvider and only snapshot the initial convergence mode when transitioning into docked mode. This restores the previous user preference when outputs drop back to one. --- .../qml/popups/kscreenosd/KScreenOSDProvider.qml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/components/mobileshell/qml/popups/kscreenosd/KScreenOSDProvider.qml b/components/mobileshell/qml/popups/kscreenosd/KScreenOSDProvider.qml index 2256ae1d..153f38c0 100644 --- a/components/mobileshell/qml/popups/kscreenosd/KScreenOSDProvider.qml +++ b/components/mobileshell/qml/popups/kscreenosd/KScreenOSDProvider.qml @@ -16,22 +16,22 @@ QtObject { id: component property bool initialConvergenceMode: false + property bool wasDocked: false property var apiListener: Connections { target: KScreenOSDUtil function onOutputsChanged() { - if (KScreenOSDUtil.outputs > 1) { + const docked = KScreenOSDUtil.outputs > 1; + if (docked && !wasDocked) { initialConvergenceMode = ShellSettings.Settings.convergenceModeEnabled; } -- console.log("KScreenOSDProvider convergenceModeEnabled: " -- + (KScreenOSDUtil.outputs > 1 ? "true" : (initialConvergenceMode ? "TRUE" : "FALSE"))); - ShellSettings.Settings.convergenceModeEnabled = KScreenOSDUtil.outputs > 1 ? true : initialConvergenceMode; + ShellSettings.Settings.convergenceModeEnabled = docked ? true : initialConvergenceMode; + wasDocked = docked; } } Component.onCompleted: { - if (KScreenOSDUtil.outputs < 2) { - initialConvergenceMode = ShellSettings.Settings.convergenceModeEnabled; - } + wasDocked = KScreenOSDUtil.outputs > 1; + initialConvergenceMode = ShellSettings.Settings.convergenceModeEnabled; } }