import QtQuick import qs.config import qs.services Item { function status(active: bool): string { return active ? "Running" : "Stopped"; } Flickable { anchors.fill: parent clip: true contentWidth: width contentHeight: content.implicitHeight + 64 boundsBehavior: Flickable.StopAtBounds Column { id: content width: parent.width - 68 x: 34 y: 30 spacing: 16 Row { width: parent.width Text { width: parent.width - refresh.width; text: "Startup & Services"; color: Theme.fg; font.family: Theme.fontFamily; font.pixelSize: 27; font.weight: Font.DemiBold } SettingsButton { id: refresh; text: SystemSettings.busy ? "Refreshing…" : "Refresh"; enabled: !SystemSettings.busy; onClicked: SystemSettings.refresh() } } Text { text: "A clear view of the background tools that make the desktop feel complete."; color: Theme.fgDim; font.family: Theme.fontFamily; font.pixelSize: Theme.fontSize; bottomPadding: 6 } SettingsCard { title: "Your services" SettingRow { label: "Nextcloud" detail: "File synchronization and tray status" controlWidth: 190 Row { anchors.right: parent.right anchors.verticalCenter: parent.verticalCenter spacing: 10 Text { anchors.verticalCenter: parent.verticalCenter; text: status(SystemSettings.nextcloudActive); color: Theme.fgDim; font.family: Theme.fontFamily; font.pixelSize: Theme.fontSize } SettingsButton { text: "Open"; onClicked: SystemSettings.openApplication("nextcloud") } } } SettingRow { label: "RustDesk" detail: "Remote access through the enabled system service" controlWidth: 190 Row { anchors.right: parent.right anchors.verticalCenter: parent.verticalCenter spacing: 10 Text { anchors.verticalCenter: parent.verticalCenter; text: status(SystemSettings.rustdeskActive); color: Theme.fgDim; font.family: Theme.fontFamily; font.pixelSize: Theme.fontSize } SettingsButton { text: "Open"; onClicked: SystemSettings.openApplication("rustdesk") } } } SettingRow { label: "KDE Connect" detail: "Phone pairing, clipboard, files, and remote controls" divider: false controlWidth: 190 Row { anchors.right: parent.right anchors.verticalCenter: parent.verticalCenter spacing: 10 Text { anchors.verticalCenter: parent.verticalCenter; text: status(SystemSettings.kdeconnectActive); color: Theme.fgDim; font.family: Theme.fontFamily; font.pixelSize: Theme.fontSize } SettingsButton { text: "Open"; onClicked: SystemSettings.openApplication("kdeconnect") } } } } SettingsCard { title: "Desktop foundation" SettingRow { label: "Hyprpaper"; detail: "Wallpaper service"; value: status(SystemSettings.hyprpaperActive) } SettingRow { label: "Hypridle"; detail: "Idle and lock policy"; value: status(SystemSettings.hypridleActive) } SettingRow { label: "Vicinae"; detail: "Spotlight-style launcher daemon"; value: status(SystemSettings.vicinaeActive); divider: false } } SettingsCard { title: "Fedora system settings" subtitle: "These remain owned by trusted system services and GNOME's mature panels." SettingRow { label: "Network, Bluetooth, printers, users, and accounts" detail: "GNOME Settings remains searchable from the launcher too" divider: false controlWidth: 122 SettingsButton { anchors.right: parent.right; anchors.verticalCenter: parent.verticalCenter; text: "Open network"; onClicked: SystemSettings.openGnomePanel("network") } } } } } }