diff options
| author | Tim Hämisch <tim@thaemisch.net> | 2025-06-15 13:40:47 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-06-15 13:40:47 +0200 |
| commit | 68874082b4cfee63feaecc0640646ad0ba753da7 (patch) | |
| tree | 815a1113a4bd83373283253a35f0220a08a8cfe6 /modules/dashboard | |
| parent | launcher: use standard logout command (diff) | |
| parent | dashboard: fix uptime (diff) | |
| download | caelestia-shell-68874082b4cfee63feaecc0640646ad0ba753da7.tar.gz caelestia-shell-68874082b4cfee63feaecc0640646ad0ba753da7.tar.bz2 caelestia-shell-68874082b4cfee63feaecc0640646ad0ba753da7.zip | |
Merge branch 'main' into betteractions
Diffstat (limited to 'modules/dashboard')
| -rw-r--r-- | modules/dashboard/Background.qml | 4 | ||||
| -rw-r--r-- | modules/dashboard/Dash.qml | 2 | ||||
| -rw-r--r-- | modules/dashboard/Media.qml | 16 | ||||
| -rw-r--r-- | modules/dashboard/Performance.qml | 6 | ||||
| -rw-r--r-- | modules/dashboard/Tabs.qml | 17 | ||||
| -rw-r--r-- | modules/dashboard/dash/DateTime.qml | 2 | ||||
| -rw-r--r-- | modules/dashboard/dash/Media.qml | 26 | ||||
| -rw-r--r-- | modules/dashboard/dash/Resources.qml | 2 | ||||
| -rw-r--r-- | modules/dashboard/dash/User.qml | 9 |
9 files changed, 43 insertions, 41 deletions
diff --git a/modules/dashboard/Background.qml b/modules/dashboard/Background.qml index ebc60c8..876311e 100644 --- a/modules/dashboard/Background.qml +++ b/modules/dashboard/Background.qml @@ -7,12 +7,12 @@ ShapePath { id: root required property Wrapper wrapper - readonly property real rounding: BorderConfig.rounding + readonly property real rounding: Config.border.rounding readonly property bool flatten: wrapper.height < rounding * 2 readonly property real roundingY: flatten ? wrapper.height / 2 : rounding strokeWidth: -1 - fillColor: BorderConfig.colour + fillColor: Config.border.colour PathArc { relativeX: root.rounding diff --git a/modules/dashboard/Dash.qml b/modules/dashboard/Dash.qml index eaf4344..22132af 100644 --- a/modules/dashboard/Dash.qml +++ b/modules/dashboard/Dash.qml @@ -26,7 +26,7 @@ GridLayout { Rect { Layout.row: 0 Layout.columnSpan: 2 - Layout.preferredWidth: DashboardConfig.sizes.weatherWidth + Layout.preferredWidth: Config.dashboard.sizes.weatherWidth Layout.fillHeight: true Weather {} diff --git a/modules/dashboard/Media.qml b/modules/dashboard/Media.qml index 43ef597..2d004d5 100644 --- a/modules/dashboard/Media.qml +++ b/modules/dashboard/Media.qml @@ -28,8 +28,8 @@ Item { return `${Math.floor(length / 60)}:${Math.floor(length % 60).toString().padStart(2, "0")}`; } - implicitWidth: cover.implicitWidth + DashboardConfig.sizes.mediaVisualiserSize * 2 + details.implicitWidth + details.anchors.leftMargin + bongocat.implicitWidth + bongocat.anchors.leftMargin * 2 + Appearance.padding.large * 2 - implicitHeight: Math.max(cover.implicitHeight + DashboardConfig.sizes.mediaVisualiserSize * 2, details.implicitHeight, bongocat.implicitHeight) + Appearance.padding.large * 2 + implicitWidth: cover.implicitWidth + Config.dashboard.sizes.mediaVisualiserSize * 2 + details.implicitWidth + details.anchors.leftMargin + bongocat.implicitWidth + bongocat.anchors.leftMargin * 2 + Appearance.padding.large * 2 + implicitHeight: Math.max(cover.implicitHeight + Config.dashboard.sizes.mediaVisualiserSize * 2, details.implicitHeight, bongocat.implicitHeight) + Appearance.padding.large * 2 Behavior on playerProgress { NumberAnimation { @@ -41,7 +41,7 @@ Item { Timer { running: root.shouldUpdate && (Players.active?.isPlaying ?? false) - interval: DashboardConfig.mediaUpdateInterval + interval: Config.dashboard.mediaUpdateInterval triggeredOnStart: true repeat: true onTriggered: Players.active?.positionChanged() @@ -66,7 +66,7 @@ Item { property color colour: Colours.palette.m3primary anchors.fill: cover - anchors.margins: -DashboardConfig.sizes.mediaVisualiserSize + anchors.margins: -Config.dashboard.sizes.mediaVisualiserSize onColourChanged: requestPaint() @@ -81,7 +81,7 @@ Item { ctx.lineWidth = 360 / len - Appearance.spacing.small / 4; ctx.lineCap = "round"; - const size = DashboardConfig.sizes.mediaVisualiserSize; + const size = Config.dashboard.sizes.mediaVisualiserSize; const cx = centerX; const cy = centerY; const rx = innerX + ctx.lineWidth / 2; @@ -116,10 +116,10 @@ Item { anchors.verticalCenter: parent.verticalCenter anchors.left: parent.left - anchors.leftMargin: Appearance.padding.large + DashboardConfig.sizes.mediaVisualiserSize + anchors.leftMargin: Appearance.padding.large + Config.dashboard.sizes.mediaVisualiserSize - implicitWidth: DashboardConfig.sizes.mediaCoverArtSize - implicitHeight: DashboardConfig.sizes.mediaCoverArtSize + implicitWidth: Config.dashboard.sizes.mediaCoverArtSize + implicitHeight: Config.dashboard.sizes.mediaCoverArtSize color: Colours.palette.m3surfaceContainerHigh radius: Appearance.rounding.full diff --git a/modules/dashboard/Performance.qml b/modules/dashboard/Performance.qml index 8513d19..b7bf8d0 100644 --- a/modules/dashboard/Performance.qml +++ b/modules/dashboard/Performance.qml @@ -65,7 +65,7 @@ Row { property bool primary readonly property real primaryMult: primary ? 1.2 : 1 - readonly property real thickness: DashboardConfig.sizes.resourceProgessThickness * primaryMult + readonly property real thickness: Config.dashboard.sizes.resourceProgessThickness * primaryMult property color fg1: Colours.palette.m3primary property color fg2: Colours.palette.m3secondary @@ -74,8 +74,8 @@ Row { anchors.verticalCenter: parent.verticalCenter - implicitWidth: DashboardConfig.sizes.resourceSize * primaryMult - implicitHeight: DashboardConfig.sizes.resourceSize * primaryMult + implicitWidth: Config.dashboard.sizes.resourceSize * primaryMult + implicitHeight: Config.dashboard.sizes.resourceSize * primaryMult onValue1Changed: canvas.requestPaint() onValue2Changed: canvas.requestPaint() diff --git a/modules/dashboard/Tabs.qml b/modules/dashboard/Tabs.qml index 46cbd76..e678e6a 100644 --- a/modules/dashboard/Tabs.qml +++ b/modules/dashboard/Tabs.qml @@ -48,14 +48,14 @@ Item { id: indicator anchors.top: bar.bottom - anchors.topMargin: DashboardConfig.sizes.tabIndicatorSpacing + anchors.topMargin: Config.dashboard.sizes.tabIndicatorSpacing implicitWidth: bar.currentItem.implicitWidth - implicitHeight: DashboardConfig.sizes.tabIndicatorHeight + implicitHeight: Config.dashboard.sizes.tabIndicatorHeight x: { const tab = bar.currentItem; - const width = (root.nonAnimWidth - DashboardConfig.sizes.tabIndicatorSpacing * (bar.count - 1) * 2) / bar.count + const width = (root.nonAnimWidth - Config.dashboard.sizes.tabIndicatorSpacing * (bar.count - 1) * 2) / bar.count; return width * tab.TabBar.index + (width - tab.implicitWidth) / 2; } @@ -69,7 +69,6 @@ Item { color: Colours.palette.m3primary radius: Appearance.rounding.full - } Behavior on x { @@ -108,14 +107,17 @@ Item { cursorShape: Qt.PointingHandCursor - onPressed: ({x,y}) => { + onPressed: ({ + x, + y + }) => { tab.TabBar.tabBar.setCurrentIndex(tab.TabBar.index); const stateY = stateWrapper.y; rippleAnim.x = x; rippleAnim.y = y - stateY; - const dist = (ox,oy) => ox * ox + oy * oy; + const dist = (ox, oy) => ox * ox + oy * oy; const stateEndY = stateY + stateWrapper.height; rippleAnim.radius = Math.sqrt(Math.max(dist(0, stateY), dist(0, stateEndY), dist(width, stateY), dist(width, stateEndY))); @@ -176,7 +178,7 @@ Item { anchors.left: parent.left anchors.right: parent.right anchors.verticalCenter: parent.verticalCenter - implicitHeight: parent.height + DashboardConfig.sizes.tabIndicatorSpacing * 2 + implicitHeight: parent.height + Config.dashboard.sizes.tabIndicatorSpacing * 2 color: "transparent" radius: Appearance.rounding.small @@ -237,7 +239,6 @@ Item { text: tab.text color: tab.current ? Colours.palette.m3primary : Colours.palette.m3onSurfaceVariant } - } } diff --git a/modules/dashboard/dash/DateTime.qml b/modules/dashboard/dash/DateTime.qml index 738fed1..25df7a5 100644 --- a/modules/dashboard/dash/DateTime.qml +++ b/modules/dashboard/dash/DateTime.qml @@ -8,7 +8,7 @@ Item { anchors.top: parent.top anchors.bottom: parent.bottom - implicitWidth: DashboardConfig.sizes.dateTimeWidth + implicitWidth: Config.dashboard.sizes.dateTimeWidth StyledText { id: hours diff --git a/modules/dashboard/dash/Media.qml b/modules/dashboard/dash/Media.qml index 7122d69..f47079d 100644 --- a/modules/dashboard/dash/Media.qml +++ b/modules/dashboard/dash/Media.qml @@ -19,7 +19,7 @@ Item { anchors.top: parent.top anchors.bottom: parent.bottom - implicitWidth: DashboardConfig.sizes.mediaWidth + implicitWidth: Config.dashboard.sizes.mediaWidth Behavior on playerProgress { NumberAnimation { @@ -31,7 +31,7 @@ Item { Timer { running: root.shouldUpdate && (Players.active?.isPlaying ?? false) - interval: DashboardConfig.mediaUpdateInterval + interval: Config.dashboard.mediaUpdateInterval triggeredOnStart: true repeat: true onTriggered: Players.active?.positionChanged() @@ -43,16 +43,16 @@ Item { ShapePath { fillColor: "transparent" strokeColor: Colours.palette.m3surfaceContainerHigh - strokeWidth: DashboardConfig.sizes.mediaProgressThickness + strokeWidth: Config.dashboard.sizes.mediaProgressThickness capStyle: ShapePath.RoundCap PathAngleArc { centerX: cover.x + cover.width / 2 centerY: cover.y + cover.height / 2 - radiusX: (cover.width + DashboardConfig.sizes.mediaProgressThickness) / 2 + Appearance.spacing.small - radiusY: (cover.height + DashboardConfig.sizes.mediaProgressThickness) / 2 + Appearance.spacing.small - startAngle: -90 - DashboardConfig.sizes.mediaProgressSweep / 2 - sweepAngle: DashboardConfig.sizes.mediaProgressSweep + radiusX: (cover.width + Config.dashboard.sizes.mediaProgressThickness) / 2 + Appearance.spacing.small + radiusY: (cover.height + Config.dashboard.sizes.mediaProgressThickness) / 2 + Appearance.spacing.small + startAngle: -90 - Config.dashboard.sizes.mediaProgressSweep / 2 + sweepAngle: Config.dashboard.sizes.mediaProgressSweep } Behavior on strokeColor { @@ -67,16 +67,16 @@ Item { ShapePath { fillColor: "transparent" strokeColor: Colours.palette.m3primary - strokeWidth: DashboardConfig.sizes.mediaProgressThickness + strokeWidth: Config.dashboard.sizes.mediaProgressThickness capStyle: ShapePath.RoundCap PathAngleArc { centerX: cover.x + cover.width / 2 centerY: cover.y + cover.height / 2 - radiusX: (cover.width + DashboardConfig.sizes.mediaProgressThickness) / 2 + Appearance.spacing.small - radiusY: (cover.height + DashboardConfig.sizes.mediaProgressThickness) / 2 + Appearance.spacing.small - startAngle: -90 - DashboardConfig.sizes.mediaProgressSweep / 2 - sweepAngle: DashboardConfig.sizes.mediaProgressSweep * root.playerProgress + radiusX: (cover.width + Config.dashboard.sizes.mediaProgressThickness) / 2 + Appearance.spacing.small + radiusY: (cover.height + Config.dashboard.sizes.mediaProgressThickness) / 2 + Appearance.spacing.small + startAngle: -90 - Config.dashboard.sizes.mediaProgressSweep / 2 + sweepAngle: Config.dashboard.sizes.mediaProgressSweep * root.playerProgress } Behavior on strokeColor { @@ -95,7 +95,7 @@ Item { anchors.top: parent.top anchors.left: parent.left anchors.right: parent.right - anchors.margins: Appearance.padding.large + DashboardConfig.sizes.mediaProgressThickness + Appearance.spacing.small + anchors.margins: Appearance.padding.large + Config.dashboard.sizes.mediaProgressThickness + Appearance.spacing.small implicitHeight: width color: Colours.palette.m3surfaceContainerHigh diff --git a/modules/dashboard/dash/Resources.qml b/modules/dashboard/dash/Resources.qml index b22b2d1..9a1f07a 100644 --- a/modules/dashboard/dash/Resources.qml +++ b/modules/dashboard/dash/Resources.qml @@ -49,7 +49,7 @@ Row { anchors.bottom: icon.top anchors.bottomMargin: Appearance.spacing.small - implicitWidth: DashboardConfig.sizes.resourceProgessThickness + implicitWidth: Config.dashboard.sizes.resourceProgessThickness color: Colours.palette.m3surfaceContainerHigh radius: Appearance.rounding.full diff --git a/modules/dashboard/dash/User.qml b/modules/dashboard/dash/User.qml index f1b9b18..bf989c6 100644 --- a/modules/dashboard/dash/User.qml +++ b/modules/dashboard/dash/User.qml @@ -36,6 +36,7 @@ Row { Column { id: info + anchors.verticalCenter: parent.verticalCenter spacing: Appearance.spacing.normal InfoLine { @@ -69,8 +70,8 @@ Row { running: true command: ["uptime", "-p"] - stdout: SplitParser { - onRead: data => uptimeProc.uptime = data + stdout: StdioCollector { + onStreamFinished: uptimeProc.uptime = text.trim() } } } @@ -90,7 +91,7 @@ Row { id: icon anchors.left: parent.left - anchors.leftMargin: (DashboardConfig.sizes.infoIconSize - implicitWidth) / 2 + anchors.leftMargin: (Config.dashboard.sizes.infoIconSize - implicitWidth) / 2 text: line.icon color: line.colour @@ -109,7 +110,7 @@ Row { text: `: ${line.text}` font.pointSize: Appearance.font.size.normal - width: DashboardConfig.sizes.infoWidth + width: Config.dashboard.sizes.infoWidth elide: Text.ElideRight } } |