// SPDX-FileCopyrightText: 2023 Plata Hill // SPDX-FileCopyrightText: 2023 Devin Lin // SPDX-License-Identifier: LGPL-2.1-or-later import QtQuick import org.kde.kwin import org.kde.plasma.private.mobileshell.shellsettingsplugin as ShellSettings Item { id: root function run(client) { if (!ShellSettings.Settings.convergenceModeEnabled) { client.setMaximize(true, true); client.noBorder = true; } else { client.noBorder = false; } } Connections { target: ShellSettings.Settings function onConvergenceModeEnabledChanged() { const clients = Workspace.clients; for (let i = 0; i < clients.length; i++) { if (clients[i].normalWindow) { root.run(clients[i]); } } } } Connections { target: Workspace function onClientAdded(client) { if (client.normalWindow) { client.interactiveMoveResizeFinished.connect((client) => { root.run(client); }); root.run(client); } } function onScreensChanged() { // Windows are moved from the external screen // to the internal screen if the external screen // is disconnected. const clients = Workspace.clients; for (var i = 0; i < clients.length; i++) { if (clients[i].normalWindow) { root.run(clients[i]); } } } } }