shift-shell/components/mobileshell/qml/popups/kscreenosd/KScreenOSDProvider.qml
Sebastian Kügler ae4bf8be60 respect user's choice of convergence mode
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 <sebas@kde.org>
2025-10-07 09:53:26 +02:00

37 lines
1.2 KiB
QML

// SPDX-FileCopyrightText: 2025 Sebastian Kügler <sebas@kde.org>
// SPDX-License-Identifier: GPL-2.0-or-later
import QtQuick
import QtQml
import org.kde.plasma.quicksetting.kscreenosd 1.0
import org.kde.plasma.private.mobileshell.shellsettingsplugin as ShellSettings
/**
* This switches between docked / convergence mode and normal when a monitor
* is plugged in or unplugged.
*/
QtObject {
id: component
property bool initialConvergenceMode: false
property var apiListener: Connections {
target: KScreenOSDUtil
function onOutputsChanged() {
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;
}
}
}