// Copyright (C) 2026 Danilo M. // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License version 2 as // published by the Free Software Foundation. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. import QtQuick import "../.." import "../ai" // One row per shell, Restart when it runs and Start when it does not, both // through reload.sh. The desktop row restarts the process drawing this page. Column { id: page required property var shells spacing: 8 Component.onCompleted: page.shells.refresh() AiRow { width: page.width title: "All shells" detail: "Restarts every one, this window included" on: true action: "Restart all" onTriggered: page.shells.restart("") } Repeater { model: page.shells.shells AiRow { required property var modelData objectName: "shell:" + modelData.name width: page.width title: modelData.name on: modelData.running detail: (modelData.running ? "Running" : "Stopped") + (modelData.name === "desktop" ? " ยท hosts this window" : "") action: modelData.running ? "Restart" : "Start" onTriggered: page.shells.restart(modelData.name) } } }