From ae4bf8be601d696d234e0a0f3aa11cb2da662593 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20K=C3=BCgler?= Date: Mon, 6 Oct 2025 18:18:03 +0200 Subject: [PATCH] respect user's choice of convergence mode MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit When plasmashell is started and the user had set docked mode, it may get reset. This patch makes sure that we don't change the user's choice after hotplugging/unplugging a display. The initial setting of convergendeMode (if true) is now remembered. Signed-off-by: Sebastian Kügler --- .../popups/kscreenosd/KScreenOSDProvider.qml | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/components/mobileshell/qml/popups/kscreenosd/KScreenOSDProvider.qml b/components/mobileshell/qml/popups/kscreenosd/KScreenOSDProvider.qml index 9e8ff5f1..2256ae1d 100644 --- a/components/mobileshell/qml/popups/kscreenosd/KScreenOSDProvider.qml +++ b/components/mobileshell/qml/popups/kscreenosd/KScreenOSDProvider.qml @@ -15,12 +15,23 @@ import org.kde.plasma.private.mobileshell.shellsettingsplugin as ShellSettings QtObject { id: component + property bool initialConvergenceMode: false + property var apiListener: Connections { target: KScreenOSDUtil function onOutputsChanged() { - console.log("KScreenOSDProvider convergenceModeEnabled: " - + (KScreenOSDUtil.outputs > 1 ? "true" : "false")); - ShellSettings.Settings.convergenceModeEnabled = KScreenOSDUtil.outputs > 1; + if (KScreenOSDUtil.outputs > 1) { + initialConvergenceMode = ShellSettings.Settings.convergenceModeEnabled; + } +- console.log("KScreenOSDProvider convergenceModeEnabled: " +- + (KScreenOSDUtil.outputs > 1 ? "true" : (initialConvergenceMode ? "TRUE" : "FALSE"))); + ShellSettings.Settings.convergenceModeEnabled = KScreenOSDUtil.outputs > 1 ? true : initialConvergenceMode; + } + } + + Component.onCompleted: { + if (KScreenOSDUtil.outputs < 2) { + initialConvergenceMode = ShellSettings.Settings.convergenceModeEnabled; } } }