Switched to Material3 colors principle

- works with matugen only for now
- need to restore rosepine
This commit is contained in:
quadbyte 2025-08-14 18:19:02 -04:00
parent 7fced5df95
commit 73c7ba8cdc
55 changed files with 519 additions and 583 deletions

View file

@ -254,19 +254,19 @@ NLoader {
width: Math.min(700 * scaling, parent.width * 0.75)
height: Math.min(550 * scaling, parent.height * 0.8)
radius: 32 * scaling
color: Colors.backgroundPrimary
border.color: Colors.outline
color: Colors.colorSurface
border.color: Colors.colorOutline
border.width: Style.borderThin * scaling
// Subtle gradient background
gradient: Gradient {
GradientStop {
position: 0.0
color: Qt.lighter(Colors.backgroundPrimary, 1.02)
color: Qt.lighter(Colors.colorSurface, 1.02)
}
GradientStop {
position: 1.0
color: Qt.darker(Colors.backgroundPrimary, 1.1)
color: Qt.darker(Colors.colorSurface, 1.1)
}
}
@ -281,8 +281,8 @@ NLoader {
Layout.preferredHeight: 40 * scaling
Layout.bottomMargin: Style.marginMedium * scaling
radius: 20 * scaling
color: Colors.backgroundSecondary
border.color: searchInput.activeFocus ? Colors.accentPrimary : Colors.outline
color: Colors.colorSurface
border.color: searchInput.activeFocus ? Colors.colorPrimary : Colors.colorOutline
border.width: searchInput.activeFocus ? 2 : 1
Row {
@ -294,14 +294,14 @@ NLoader {
text: "search"
font.family: "Material Symbols Outlined"
font.pointSize: 16 * scaling
color: searchInput.activeFocus ? Colors.accentPrimary : Colors.textSecondary
color: searchInput.activeFocus ? Colors.colorPrimary : Colors.colorOnSurface
}
TextField {
id: searchInput
placeholderText: "Search applications..."
color: Colors.textPrimary
placeholderTextColor: Colors.textSecondary
color: Colors.colorOnSurface
placeholderTextColor: Colors.colorOnSurface
background: null
font.pointSize: 13 * scaling
Layout.fillWidth: true
@ -309,8 +309,8 @@ NLoader {
searchText = text
selectedIndex = 0 // Reset selection when search changes
}
selectedTextColor: Colors.textPrimary
selectionColor: Colors.accentPrimary
selectedTextColor: Colors.colorOnSurface
selectionColor: Colors.colorPrimary
padding: 0
verticalAlignment: TextInput.AlignVCenter
leftPadding: 0
@ -319,14 +319,14 @@ NLoader {
bottomPadding: 0
font.bold: true
Component.onCompleted: {
contentItem.cursorColor = Colors.textPrimary
contentItem.cursorColor = Colors.colorOnSurface
contentItem.verticalAlignment = TextInput.AlignVCenter
// Focus the search bar by default
Qt.callLater(() => {
searchInput.forceActiveFocus()
})
}
onActiveFocusChanged: contentItem.cursorColor = Colors.textPrimary
onActiveFocusChanged: contentItem.cursorColor = Colors.colorOnSurface
Keys.onDownPressed: selectNext()
Keys.onUpPressed: selectPrev()
@ -370,10 +370,10 @@ NLoader {
radius: 16 * scaling
property bool isSelected: index === selectedIndex
color: (appCardArea.containsMouse || isSelected) ? Qt.darker(
Colors.accentPrimary,
1.1) : Colors.backgroundSecondary
Colors.colorPrimary,
1.1) : Colors.colorSurface
border.color: (appCardArea.containsMouse
|| isSelected) ? Colors.accentPrimary : "transparent"
|| isSelected) ? Colors.colorPrimary : "transparent"
border.width: (appCardArea.containsMouse || isSelected) ? 2 : 0
Behavior on color {
@ -404,8 +404,8 @@ NLoader {
Layout.preferredWidth: 40 * scaling
Layout.preferredHeight: 40 * scaling
radius: 14 * scaling
color: appCardArea.containsMouse ? Qt.darker(Colors.accentPrimary,
1.1) : Colors.backgroundTertiary
color: appCardArea.containsMouse ? Qt.darker(Colors.colorPrimary,
1.1) : Colors.colorSurfaceVariant
property bool iconLoaded: (modelData.isCalculator || modelData.isClipboard
|| modelData.isCommand) || (iconImg.status === Image.Ready
&& iconImg.source !== ""
@ -440,7 +440,7 @@ NLoader {
anchors.fill: parent
anchors.margins: 6 * scaling
radius: 10 * scaling
color: Colors.accentPrimary
color: Colors.colorPrimary
opacity: 0.3
visible: !parent.iconLoaded
}
@ -452,7 +452,7 @@ NLoader {
text: modelData.name ? modelData.name.charAt(0).toUpperCase() : "?"
font.pointSize: 18 * scaling
font.weight: Font.Bold
color: Colors.accentPrimary
color: Colors.colorPrimary
}
Behavior on color {
@ -471,7 +471,7 @@ NLoader {
text: modelData.name || "Unknown"
font.pointSize: 14 * scaling
font.weight: Font.Bold
color: Colors.textPrimary
color: Colors.colorOnSurface
elide: Text.ElideRight
Layout.fillWidth: true
}
@ -480,7 +480,7 @@ NLoader {
text: modelData.isCalculator ? (modelData.expr + " = " + modelData.result) : modelData.isClipboard ? modelData.content : modelData.isCommand ? modelData.content : (modelData.genericName || modelData.comment || "")
font.pointSize: 11 * scaling
color: (appCardArea.containsMouse
|| isSelected) ? Colors.textPrimary : Colors.textSecondary
|| isSelected) ? Colors.colorOnSurface : Colors.colorOnSurface
elide: Text.ElideRight
Layout.fillWidth: true
visible: text !== ""
@ -507,7 +507,7 @@ NLoader {
NText {
text: searchText.trim() !== "" ? "No applications found" : "No applications available"
font.pointSize: Style.fontSizeLarge * scaling
color: Colors.textSecondary
color: Colors.colorOnSurface
horizontalAlignment: Text.AlignHCenter
Layout.fillWidth: true
visible: filteredEntries.length === 0
@ -521,7 +521,7 @@ NLoader {
">calc") ? `${filteredEntries.length} result${filteredEntries.length
!== 1 ? 's' : ''}` : `${filteredEntries.length} application${filteredEntries.length !== 1 ? 's' : ''}`
font.pointSize: Style.fontSizeSmall * scaling
color: Colors.textSecondary
color: Colors.colorOnSurface
horizontalAlignment: Text.AlignHCenter
Layout.fillWidth: true
visible: searchText.trim() !== ""

View file

@ -5,8 +5,8 @@ Item {
id: root
property int innerRadius: 32 * scaling
property int outerRadius: 64 * scaling
property color fillColor: Colors.accentPrimary
property color strokeColor: Colors.textPrimary
property color fillColor: Colors.colorPrimary
property color strokeColor: Colors.colorOnSurface
property int strokeWidth: 0 * scaling
property var values: []
property int usableOuter: 64

View file

@ -3,8 +3,8 @@ import qs.Services
Item {
id: root
property color fillColor: Colors.accentPrimary
property color strokeColor: Colors.textPrimary
property color fillColor: Colors.colorPrimary
property color strokeColor: Colors.colorOnSurface
property int strokeWidth: 0
property var values: []

View file

@ -62,7 +62,7 @@ NLoader {
Rectangle {
anchors.fill: parent
color: Qt.rgba(Colors.backgroundPrimary.r, Colors.backgroundPrimary.g, Colors.backgroundPrimary.b, 0.5)
color: Qt.rgba(Colors.colorSurface.r, Colors.colorSurface.g, Colors.colorSurface.b, 0.5)
}
}
}

View file

@ -17,7 +17,7 @@ NLoader {
required property ShellScreen modelData
// Visible ring color
property color ringColor: Colors.backgroundPrimary
property color ringColor: Colors.colorSurface
// The amount subtracted from full size for the inner cutout
// Inner size = full size - borderWidth (per axis)
property int borderWidth: Style.borderMedium

View file

@ -36,7 +36,7 @@ Variants {
id: bar
anchors.fill: parent
color: Colors.backgroundPrimary
color: Colors.colorSurface
layer.enabled: true
}

View file

@ -51,10 +51,10 @@ NPill {
icon: root.batteryIcon()
text: Math.round(root.percent) + "%"
pillColor: Colors.surfaceVariant
iconCircleColor: Colors.accentPrimary
iconTextColor: Colors.backgroundPrimary
textColor: charging ? Colors.accentPrimary : Colors.textPrimary
pillColor: Colors.colorSurfaceVariant
iconCircleColor: Colors.colorPrimary
iconTextColor: Colors.colorSurface
textColor: charging ? Colors.colorPrimary : Colors.colorOnSurface
tooltipText: {
let lines = []

View file

@ -23,7 +23,7 @@ Row {
font.pointSize: Style.fontSizeLarge * scaling
verticalAlignment: Text.AlignVCenter
anchors.verticalCenter: parent.verticalCenter
color: Colors.accentPrimary
color: Colors.colorPrimary
}
NText {
@ -45,7 +45,7 @@ Row {
text: "thermometer"
font.family: "Material Symbols Outlined"
font.pointSize: Style.fontSizeLarge * scaling
color: Colors.accentPrimary
color: Colors.colorPrimary
verticalAlignment: Text.AlignVCenter
anchors.verticalCenter: parent.verticalCenter
}
@ -68,7 +68,7 @@ Row {
text: "memory"
font.family: "Material Symbols Outlined"
font.pointSize: Style.fontSizeLarge * scaling
color: Colors.accentPrimary
color: Colors.colorPrimary
verticalAlignment: Text.AlignVCenter
anchors.verticalCenter: parent.verticalCenter
}

View file

@ -73,8 +73,8 @@ PopupWindow {
Rectangle {
id: bg
anchors.fill: parent
color: Colors.backgroundSecondary
border.color: Colors.outline
color: Colors.colorSurface
border.color: Colors.colorOutline
border.width: Math.max(1, Style.borderThin * scaling)
radius: Style.radiusMedium * scaling
z: 0
@ -112,7 +112,7 @@ PopupWindow {
Rectangle {
id: bg
anchors.fill: parent
color: mouseArea.containsMouse ? Colors.hover : "transparent"
color: mouseArea.containsMouse ? Colors.colorTertiary : "transparent"
radius: Style.radiusSmall * scaling
visible: !(modelData?.isSeparator ?? false)
@ -126,7 +126,7 @@ PopupWindow {
id: text
Layout.fillWidth: true
color: (modelData?.enabled
?? true) ? (mouseArea.containsMouse ? Colors.textPrimary : Colors.textPrimary) : Colors.textDisabled
?? true) ? (mouseArea.containsMouse ? Colors.colorOnSurface : Colors.colorOnSurface) : Colors.textDisabled
text: modelData?.text ?? ""
font.pointSize: Style.fontSizeSmall * scaling
verticalAlignment: Text.AlignVCenter
@ -148,7 +148,7 @@ PopupWindow {
font.pointSize: Style.fontSizeSmall * scaling
verticalAlignment: Text.AlignVCenter
visible: modelData?.hasChildren ?? false
color: Colors.textPrimary
color: Colors.colorOnSurface
}
}
@ -308,8 +308,8 @@ PopupWindow {
Rectangle {
id: bg
anchors.fill: parent
color: Colors.backgroundSecondary
border.color: Colors.outline
color: Colors.colorSurface
border.color: Colors.colorOutline
border.width: Math.max(1, Style.borderThin * scaling)
radius: Style.radiusMedium * scaling
z: 0
@ -347,10 +347,10 @@ PopupWindow {
Rectangle {
id: bg
anchors.fill: parent
color: mouseArea.containsMouse ? Colors.hover : "transparent"
color: mouseArea.containsMouse ? Colors.colorTertiary : "transparent"
radius: Style.radiusSmall * scaling
visible: !(modelData?.isSeparator ?? false)
property color hoverTextColor: mouseArea.containsMouse ? Colors.textPrimary : Colors.textPrimary
property color hoverTextColor: mouseArea.containsMouse ? Colors.colorOnSurface : Colors.colorOnSurface
RowLayout {
anchors.fill: parent

View file

@ -38,8 +38,8 @@ Item {
NPill {
id: pill
icon: getIcon()
iconCircleColor: Colors.accentPrimary
collapsedIconColor: Colors.textPrimary
iconCircleColor: Colors.colorPrimary
collapsedIconColor: Colors.colorOnSurface
autoHide: true
text: Math.floor(Audio.volume * 100) + "%"
tooltipText: "Volume: " + Math.round(

View file

@ -67,9 +67,9 @@ NLoader {
Rectangle {
id: wifiMenuRect
color: Colors.backgroundSecondary
color: Colors.colorSurface
radius: Style.radiusMedium * scaling
border.color: Colors.backgroundTertiary
border.color: Colors.colorSurfaceVariant
border.width: Math.max(1, Style.borderMedium * scaling)
width: 340 * scaling
height: 320 * scaling
@ -119,14 +119,14 @@ NLoader {
text: "wifi"
font.family: "Material Symbols Outlined"
font.pointSize: Style.fontSizeXL * scaling
color: Colors.accentPrimary
color: Colors.colorPrimary
}
NText {
text: "WiFi"
font.pointSize: Style.fontSizeLarge * scaling
font.bold: true
color: Colors.textPrimary
color: Colors.colorOnSurface
Layout.fillWidth: true
}
@ -180,7 +180,7 @@ NLoader {
Layout.fillWidth: true
Layout.preferredHeight: Style.baseWidgetSize * 1.5 * scaling
radius: Style.radiusMedium * scaling
color: modelData.connected ? Colors.accentPrimary : (networkMouseArea.containsMouse ? Colors.hover : "transparent")
color: modelData.connected ? Colors.colorPrimary : (networkMouseArea.containsMouse ? Colors.colorTertiary : "transparent")
RowLayout {
anchors.fill: parent
@ -191,7 +191,7 @@ NLoader {
text: network.signalIcon(modelData.signal)
font.family: "Material Symbols Outlined"
font.pointSize: Style.fontSizeXL * scaling
color: modelData.connected ? Colors.backgroundPrimary : (networkMouseArea.containsMouse ? Colors.backgroundPrimary : Colors.textPrimary)
color: modelData.connected ? Colors.colorSurface : (networkMouseArea.containsMouse ? Colors.colorSurface : Colors.colorOnSurface)
}
ColumnLayout {
@ -204,7 +204,7 @@ NLoader {
font.pointSize: Style.fontSizeNormal * scaling
elide: Text.ElideRight
Layout.fillWidth: true
color: modelData.connected ? Colors.backgroundPrimary : (networkMouseArea.containsMouse ? Colors.backgroundPrimary : Colors.textPrimary)
color: modelData.connected ? Colors.colorSurface : (networkMouseArea.containsMouse ? Colors.colorSurface : Colors.colorOnSurface)
}
// Security Protocol
@ -213,14 +213,14 @@ NLoader {
font.pointSize: Style.fontSizeTiny * scaling
elide: Text.ElideRight
Layout.fillWidth: true
color: modelData.connected ? Colors.backgroundPrimary : (networkMouseArea.containsMouse ? Colors.backgroundPrimary : Colors.textPrimary)
color: modelData.connected ? Colors.colorSurface : (networkMouseArea.containsMouse ? Colors.colorSurface : Colors.colorOnSurface)
}
NText {
visible: network.connectStatusSsid === modelData.ssid && network.connectStatus === "error"
&& network.connectError.length > 0
text: network.connectError
color: Colors.error
color: Colors.colorError
font.pointSize: Style.fontSizeSmall * scaling
elide: Text.ElideRight
Layout.fillWidth: true
@ -236,7 +236,7 @@ NLoader {
NBusyIndicator {
visible: network.connectingSsid === modelData.ssid
running: network.connectingSsid === modelData.ssid
color: Colors.accentPrimary
color: Colors.colorPrimary
anchors.centerIn: parent
size: Style.baseWidgetSize * 0.7 * scaling
}
@ -257,7 +257,7 @@ NLoader {
text: "error"
font.family: "Material Symbols Outlined"
font.pointSize: Style.fontSizeSmall * scaling
color: Colors.error
color: Colors.colorError
anchors.centerIn: parent
}
}
@ -266,7 +266,7 @@ NLoader {
visible: modelData.connected
text: "connected"
font.pointSize: Style.fontSizeSmall * scaling
color: modelData.connected ? Colors.backgroundPrimary : (networkMouseArea.containsMouse ? Colors.backgroundPrimary : Colors.textPrimary)
color: modelData.connected ? Colors.colorSurface : (networkMouseArea.containsMouse ? Colors.colorSurface : Colors.colorOnSurface)
}
}
@ -298,7 +298,7 @@ NLoader {
Layout.preferredHeight: modelData.ssid === passwordPromptSsid && showPasswordPrompt ? 60 : 0
Layout.margins: 8
visible: modelData.ssid === passwordPromptSsid && showPasswordPrompt
color: Colors.surfaceVariant
color: Colors.colorSurfaceVariant
radius: Style.radiusSmall * scaling
RowLayout {
@ -314,7 +314,7 @@ NLoader {
anchors.fill: parent
radius: 8
color: "transparent"
border.color: passwordInputField.activeFocus ? Colors.accentPrimary : Colors.outline
border.color: passwordInputField.activeFocus ? Colors.colorPrimary : Colors.colorOutline
border.width: 1
TextInput {
@ -323,7 +323,7 @@ NLoader {
anchors.margins: Style.marginMedium * scaling
text: passwordInput
font.pointSize: Style.fontSizeMedium * scaling
color: Colors.textPrimary
color: Colors.colorOnSurface
verticalAlignment: TextInput.AlignVCenter
clip: true
focus: true
@ -350,8 +350,8 @@ NLoader {
Layout.preferredWidth: 80
Layout.preferredHeight: 36
radius: Style.radiusMedium * scaling
color: Colors.accentPrimary
border.color: Colors.accentPrimary
color: Colors.colorPrimary
border.color: Colors.colorPrimary
border.width: 0
Behavior on color {
@ -363,7 +363,7 @@ NLoader {
NText {
anchors.centerIn: parent
text: "Connect"
color: Colors.backgroundPrimary
color: Colors.colorSurface
font.pointSize: Style.fontSizeSmall * scaling
}
@ -375,8 +375,8 @@ NLoader {
}
cursorShape: Qt.PointingHandCursor
hoverEnabled: true
onEntered: parent.color = Qt.darker(Colors.accentPrimary, 1.1)
onExited: parent.color = Colors.accentPrimary
onEntered: parent.color = Qt.darker(Colors.colorPrimary, 1.1)
onExited: parent.color = Colors.colorPrimary
}
}
}

View file

@ -18,7 +18,7 @@ Item {
property ListModel localWorkspaces: ListModel {}
property real masterProgress: 0.0
property bool effectsActive: false
property color effectColor: Colors.accentPrimary
property color effectColor: Colors.colorPrimary
property int horizontalPadding: Math.round(16 * s)
property int spacingBetweenPills: Math.round(8 * s)
@ -72,7 +72,7 @@ Item {
}
function triggerUnifiedWave() {
effectColor = Colors.accentPrimary
effectColor = Colors.colorPrimary
masterAnimation.restart()
}
@ -108,7 +108,7 @@ Item {
const ws = localWorkspaces.get(i)
if (ws.isFocused === true) {
root.triggerUnifiedWave()
root.workspaceChanged(ws.id, Colors.accentPrimary)
root.workspaceChanged(ws.id, Colors.colorPrimary)
break
}
}
@ -121,14 +121,12 @@ Item {
anchors.horizontalCenter: parent.horizontalCenter
anchors.verticalCenter: parent.verticalCenter
radius: Math.round(12 * s)
color: Colors.surfaceVariant
border.color: Qt.rgba(Colors.textPrimary.r, Colors.textPrimary.g, Colors.textPrimary.b, 0.1)
color: Colors.colorSurfaceVariant
border.color: Colors.colorOutlineVariant
border.width: Math.max(1, Math.round(1 * s))
layer.enabled: true
layer.effect: MultiEffect {
shadowColor: "black"
// radius: 12
shadowColor: Colors.colorShadow
shadowVerticalOffset: 0
shadowHorizontalOffset: 0
shadowOpacity: 0.10
@ -168,15 +166,15 @@ Item {
}
color: {
if (model.isFocused)
return Colors.accentPrimary
return Colors.colorPrimary
if (model.isUrgent)
return Colors.error
return Colors.colorError
if (model.isActive || model.isOccupied)
return Colors.accentTertiary
return Colors.colorSecondary
if (model.isUrgent)
return Colors.error
return Colors.colorError
return Colors.outline
return Colors.colorOutline
}
scale: model.isFocused ? 1.0 : 0.9
z: 0

View file

@ -63,9 +63,9 @@ NLoader {
Rectangle {
id: calendarRect
color: Colors.backgroundSecondary
color: Colors.colorSurface
radius: Style.radiusMedium * scaling
border.color: Colors.backgroundTertiary
border.color: Colors.colorSurfaceVariant
border.width: Math.max(1, Style.borderMedium * scaling)
width: 340 * scaling
height: 320 * scaling // Reduced height to eliminate bottom space
@ -135,7 +135,7 @@ NLoader {
horizontalAlignment: Text.AlignHCenter
font.pointSize: Style.fontSizeMedium * scaling
font.weight: Style.fontWeightBold
color: Colors.accentPrimary
color: Colors.colorPrimary
}
NIconButton {
@ -172,7 +172,7 @@ NLoader {
let dayIndex = (firstDay + index) % 7
return Qt.locale().dayName(dayIndex, Locale.ShortFormat)
}
color: Colors.accentSecondary
color: Colors.colorSecondary
font.pointSize: Style.fontSizeMedium * scaling
font.weight: Style.fontWeightBold
horizontalAlignment: Text.AlignHCenter
@ -210,12 +210,12 @@ NLoader {
width: (Style.baseWidgetSize * scaling)
height: (Style.baseWidgetSize * scaling)
radius: Style.radiusSmall * scaling
color: model.today ? Colors.accentPrimary : "transparent"
color: model.today ? Colors.colorPrimary : "transparent"
NText {
anchors.centerIn: parent
text: model.day
color: model.today ? Colors.onAccent : Colors.textPrimary
color: model.today ? Colors.onAccent : Colors.colorOnSurface
opacity: model.month === grid.month ? Style.opacityHeavy : Style.opacityLight
font.pointSize: (Style.fontSizeMedium * scaling)
font.weight: model.today ? Style.fontWeightBold : Style.fontWeightRegular

View file

@ -68,10 +68,10 @@ NLoader {
Rectangle {
id: bgRect
color: Colors.backgroundPrimary
color: Colors.colorSurface
radius: Style.radiusMedium * scaling
border.color: Colors.accentPrimary
border.width: 2
border.color: Colors.colorOutlineVariant
border.width: Math.max(1, Style.borderThin * scaling)
width: 500 * scaling
height: 700 * scaling
anchors.centerIn: parent
@ -115,7 +115,7 @@ NLoader {
NText {
text: "DemoPanel"
color: Colors.accentPrimary
color: Colors.colorPrimary
font.pointSize: Style.fontSizeXL * scaling
font.weight: Style.fontWeightBold
Layout.alignment: Qt.AlignHCenter
@ -130,7 +130,7 @@ NLoader {
spacing: Style.marginLarge * scaling
NText {
text: "Scaling"
color: Colors.accentSecondary
color: Colors.colorSecondary
font.weight: Style.fontWeightBold
}
NText {
@ -173,7 +173,7 @@ NLoader {
spacing: Style.marginLarge * scaling
NText {
text: "NIconButton"
color: Colors.accentSecondary
color: Colors.colorSecondary
font.weight: Style.fontWeightBold
}
@ -193,7 +193,7 @@ NLoader {
spacing: Style.marginMedium * scaling
NText {
text: "NToggle"
color: Colors.accentSecondary
color: Colors.colorSecondary
font.weight: Style.fontWeightBold
}
@ -215,7 +215,7 @@ NLoader {
spacing: Style.marginMedium * scaling
NText {
text: "NComboBox"
color: Colors.accentSecondary
color: Colors.colorSecondary
font.weight: Style.fontWeightBold
}
@ -240,7 +240,7 @@ NLoader {
spacing: Style.marginMedium * scaling
NText {
text: "NTextInput"
color: Colors.accentSecondary
color: Colors.colorSecondary
font.weight: Style.fontWeightBold
}
@ -263,7 +263,7 @@ NLoader {
spacing: Style.marginMedium * scaling
NText {
text: "NBusyIndicator"
color: Colors.accentSecondary
color: Colors.colorSecondary
font.weight: Style.fontWeightBold
}

View file

@ -104,7 +104,7 @@ NLoader {
id: dockContainer
width: dock.width + 40
height: 50
color: Colors.backgroundSecondary
color: Colors.colorSurface
anchors.horizontalCenter: parent.horizontalCenter
anchors.bottom: parent.bottom
topLeftRadius: 20
@ -203,7 +203,7 @@ NLoader {
text: appButton.appId ? appButton.appId.charAt(0).toUpperCase() : "?"
font.pixelSize: 14
font.bold: true
color: appButton.isActive ? Colors.accentPrimary : Colors.textPrimary
color: appButton.isActive ? Colors.colorPrimary : Colors.colorOnSurface
}
MouseArea {
@ -253,7 +253,7 @@ NLoader {
visible: isActive
width: 20
height: 3
color: Colors.accentPrimary
color: Colors.colorPrimary
radius: 1.5
anchors.bottom: parent.bottom
anchors.horizontalCenter: parent.horizontalCenter
@ -292,8 +292,8 @@ NLoader {
width: 80
height: 32
radius: 8
color: closeMouseArea.containsMouse ? Colors.hover : Colors.backgroundPrimary
border.color: Colors.outline
color: closeMouseArea.containsMouse ? Colors.colorTertiary : Colors.colorSurface
border.color: Colors.colorOutline
border.width: 1
x: {
@ -315,7 +315,7 @@ NLoader {
anchors.centerIn: parent
text: "Close"
font.pixelSize: 14
color: Colors.textPrimary
color: Colors.colorOnSurface
}
MouseArea {

View file

@ -138,7 +138,7 @@ WlSessionLock {
width: Math.random() * 4 + 2
height: width
radius: width * 0.5
color: Qt.rgba(Colors.accentPrimary.r, Colors.accentPrimary.g, Colors.accentPrimary.b, 0.3)
color: Qt.rgba(Colors.colorPrimary.r, Colors.colorPrimary.g, Colors.colorPrimary.b, 0.3)
x: Math.random() * parent.width
y: Math.random() * parent.height
@ -181,7 +181,7 @@ WlSessionLock {
font.pointSize: Style.fontSizeXXL * 6
font.weight: Font.Bold
font.letterSpacing: -2
color: Colors.textPrimary
color: Colors.colorOnSurface
horizontalAlignment: Text.AlignHCenter
SequentialAnimation on scale {
@ -205,7 +205,7 @@ WlSessionLock {
font.family: "Inter"
font.pointSize: Style.fontSizeXL
font.weight: Font.Light
color: Colors.textSecondary
color: Colors.colorOnSurface
horizontalAlignment: Text.AlignHCenter
width: timeText.width
}
@ -222,7 +222,7 @@ WlSessionLock {
height: 120 * Scaling.scale(screen)
radius: width * 0.5
color: "transparent"
border.color: Colors.accentPrimary
border.color: Colors.colorPrimary
border.width: 3 * Scaling.scale(screen)
anchors.horizontalCenter: parent.horizontalCenter
@ -233,7 +233,7 @@ WlSessionLock {
height: parent.height + 24 * Scaling.scale(screen)
radius: width * 0.5
color: "transparent"
border.color: Qt.rgba(Colors.accentPrimary.r, Colors.accentPrimary.g, Colors.accentPrimary.b, 0.3)
border.color: Qt.rgba(Colors.colorPrimary.r, Colors.colorPrimary.g, Colors.colorPrimary.b, 0.3)
border.width: 2 * Scaling.scale(screen)
z: -1
@ -301,8 +301,8 @@ WlSessionLock {
id: terminalBackground
anchors.fill: parent
radius: 16
color: Colors.applyOpacity(Colors.backgroundPrimary, "E6")
border.color: Colors.accentPrimary
color: Colors.applyOpacity(Colors.colorSurface, "E6")
border.color: Colors.colorPrimary
border.width: 2 * Scaling.scale(screen)
// Scanline effect
@ -311,7 +311,7 @@ WlSessionLock {
Rectangle {
width: parent.width
height: 1
color: Colors.applyOpacity(Colors.accentPrimary, "1A")
color: Colors.applyOpacity(Colors.colorPrimary, "1A")
y: index * 10
opacity: 0.3
@ -333,7 +333,7 @@ WlSessionLock {
Rectangle {
width: parent.width
height: 40 * Scaling.scale(screen)
color: Colors.applyOpacity(Colors.accentPrimary, "33")
color: Colors.applyOpacity(Colors.colorPrimary, "33")
topLeftRadius: 14
topRightRadius: 14
@ -344,7 +344,7 @@ WlSessionLock {
Text {
text: "SECURE TERMINAL"
color: Colors.textPrimary
color: Colors.colorOnSurface
font.family: "DejaVu Sans Mono"
font.pointSize: Style.fontSizeLarge
font.weight: Font.Bold
@ -370,7 +370,7 @@ WlSessionLock {
Text {
text: "root@noctalia:~$"
color: Colors.accentPrimary
color: Colors.colorPrimary
font.family: "DejaVu Sans Mono"
font.pointSize: Style.fontSizeLarge
font.weight: Font.Bold
@ -379,7 +379,7 @@ WlSessionLock {
Text {
id: welcomeText
text: ""
color: Colors.textPrimary
color: Colors.colorOnSurface
font.family: "DejaVu Sans Mono"
font.pointSize: Style.fontSizeLarge
property int currentIndex: 0
@ -408,7 +408,7 @@ WlSessionLock {
Text {
text: "root@noctalia:~$"
color: Colors.accentPrimary
color: Colors.colorPrimary
font.family: "DejaVu Sans Mono"
font.pointSize: Style.fontSizeLarge
font.weight: Font.Bold
@ -416,7 +416,7 @@ WlSessionLock {
Text {
text: "sudo unlock_session"
color: Colors.textPrimary
color: Colors.colorOnSurface
font.family: "DejaVu Sans Mono"
font.pointSize: Style.fontSizeLarge
}
@ -429,7 +429,7 @@ WlSessionLock {
visible: false
font.family: "DejaVu Sans Mono"
font.pointSize: Style.fontSizeLarge
color: Colors.textPrimary
color: Colors.colorOnSurface
echoMode: TextInput.Password
passwordCharacter: "*"
passwordMaskDelay: 0
@ -456,7 +456,7 @@ WlSessionLock {
Text {
id: asterisksText
text: "*".repeat(passwordInput.text.length)
color: Colors.textPrimary
color: Colors.colorOnSurface
font.family: "DejaVu Sans Mono"
font.pointSize: Style.fontSizeLarge
visible: passwordInput.activeFocus
@ -483,7 +483,7 @@ WlSessionLock {
Rectangle {
width: 8 * Scaling.scale(screen)
height: 20 * Scaling.scale(screen)
color: Colors.accentPrimary
color: Colors.colorPrimary
visible: passwordInput.activeFocus
anchors.left: asterisksText.right
anchors.leftMargin: 2 * Scaling.scale(screen)
@ -506,7 +506,7 @@ WlSessionLock {
// Status messages
Text {
text: lock.authenticating ? "Authenticating..." : (lock.errorMessage !== "" ? "Authentication failed." : "")
color: lock.authenticating ? Colors.accentPrimary : (lock.errorMessage !== "" ? Colors.error : "transparent")
color: lock.authenticating ? Colors.colorPrimary : (lock.errorMessage !== "" ? Colors.colorError : "transparent")
font.family: "DejaVu Sans Mono"
font.pointSize: Style.fontSizeLarge
Layout.fillWidth: true
@ -530,9 +530,9 @@ WlSessionLock {
width: 120 * Scaling.scale(screen)
height: 40 * Scaling.scale(screen)
radius: 12
color: executeButtonArea.containsMouse ? Colors.accentPrimary : Colors.applyOpacity(
Colors.accentPrimary, "33")
border.color: Colors.accentPrimary
color: executeButtonArea.containsMouse ? Colors.colorPrimary : Colors.applyOpacity(
Colors.colorPrimary, "33")
border.color: Colors.colorPrimary
border.width: 1
enabled: !lock.authenticating
Layout.alignment: Qt.AlignRight
@ -541,7 +541,7 @@ WlSessionLock {
Text {
anchors.centerIn: parent
text: lock.authenticating ? "EXECUTING" : "EXECUTE"
color: executeButtonArea.containsMouse ? Colors.onAccent : Colors.accentPrimary
color: executeButtonArea.containsMouse ? Colors.onAccent : Colors.colorPrimary
font.family: "DejaVu Sans Mono"
font.pointSize: Style.fontSizeMedium
font.weight: Font.Bold
@ -595,7 +595,7 @@ WlSessionLock {
anchors.fill: parent
radius: parent.radius
color: "transparent"
border.color: Colors.applyOpacity(Colors.accentPrimary, "4D")
border.color: Colors.applyOpacity(Colors.colorPrimary, "4D")
border.width: 1
z: -1
@ -631,8 +631,8 @@ WlSessionLock {
width: 64 * Scaling.scale(screen)
height: 64 * Scaling.scale(screen)
radius: 32
color: Qt.rgba(Colors.error.r, Colors.error.g, Colors.error.b, shutdownArea.containsMouse ? 0.9 : 0.2)
border.color: Colors.error
color: Qt.rgba(Colors.colorError.r, Colors.colorError.g, Colors.colorError.b, shutdownArea.containsMouse ? 0.9 : 0.2)
border.color: Colors.colorError
border.width: 2 * Scaling.scale(screen)
// Glow effect
@ -642,7 +642,7 @@ WlSessionLock {
height: parent.height + 10 * Scaling.scale(screen)
radius: width * 0.5
color: "transparent"
border.color: Qt.rgba(Colors.error.r, Colors.error.g, Colors.error.b, 0.3)
border.color: Qt.rgba(Colors.colorError.r, Colors.colorError.g, Colors.colorError.b, 0.3)
border.width: 2 * Scaling.scale(screen)
opacity: shutdownArea.containsMouse ? 1 : 0
z: -1
@ -671,7 +671,7 @@ WlSessionLock {
text: "power_settings_new"
font.family: "Material Symbols Outlined"
font.pixelSize: 28 * Scaling.scale(screen)
color: shutdownArea.containsMouse ? Colors.onAccent : Colors.error
color: shutdownArea.containsMouse ? Colors.onAccent : Colors.colorError
}
Behavior on color {
@ -688,9 +688,9 @@ WlSessionLock {
width: 64 * Scaling.scale(screen)
height: 64 * Scaling.scale(screen)
radius: 32
color: Qt.rgba(Colors.accentPrimary.r, Colors.accentPrimary.g, Colors.accentPrimary.b,
color: Qt.rgba(Colors.colorPrimary.r, Colors.colorPrimary.g, Colors.colorPrimary.b,
rebootArea.containsMouse ? 0.9 : 0.2)
border.color: Colors.accentPrimary
border.color: Colors.colorPrimary
border.width: 2 * Scaling.scale(screen)
// Glow effect
@ -700,7 +700,7 @@ WlSessionLock {
height: parent.height + 10 * Scaling.scale(screen)
radius: width * 0.5
color: "transparent"
border.color: Qt.rgba(Colors.accentPrimary.r, Colors.accentPrimary.g, Colors.accentPrimary.b, 0.3)
border.color: Qt.rgba(Colors.colorPrimary.r, Colors.colorPrimary.g, Colors.colorPrimary.b, 0.3)
border.width: 2 * Scaling.scale(screen)
opacity: rebootArea.containsMouse ? 1 : 0
z: -1
@ -728,7 +728,7 @@ WlSessionLock {
text: "refresh"
font.family: "Material Symbols Outlined"
font.pixelSize: 28 * Scaling.scale(screen)
color: rebootArea.containsMouse ? Colors.onAccent : Colors.accentPrimary
color: rebootArea.containsMouse ? Colors.onAccent : Colors.colorPrimary
}
Behavior on color {
@ -745,9 +745,9 @@ WlSessionLock {
width: 64 * Scaling.scale(screen)
height: 64 * Scaling.scale(screen)
radius: 32
color: Qt.rgba(Colors.accentSecondary.r, Colors.accentSecondary.g, Colors.accentSecondary.b,
color: Qt.rgba(Colors.colorSecondary.r, Colors.colorSecondary.g, Colors.colorSecondary.b,
logoutArea.containsMouse ? 0.9 : 0.2)
border.color: Colors.accentSecondary
border.color: Colors.colorSecondary
border.width: 2 * Scaling.scale(screen)
// Glow effect
@ -757,7 +757,7 @@ WlSessionLock {
height: parent.height + 10 * Scaling.scale(screen)
radius: width * 0.5
color: "transparent"
border.color: Qt.rgba(Colors.accentSecondary.r, Colors.accentSecondary.g, Colors.accentSecondary.b, 0.3)
border.color: Qt.rgba(Colors.colorSecondary.r, Colors.colorSecondary.g, Colors.colorSecondary.b, 0.3)
border.width: 2 * Scaling.scale(screen)
opacity: logoutArea.containsMouse ? 1 : 0
z: -1
@ -787,7 +787,7 @@ WlSessionLock {
text: "exit_to_app"
font.family: "Material Symbols Outlined"
font.pixelSize: 28 * Scaling.scale(screen)
color: logoutArea.containsMouse ? Colors.onAccent : Colors.accentSecondary
color: logoutArea.containsMouse ? Colors.onAccent : Colors.colorSecondary
}
Behavior on color {

View file

@ -63,18 +63,9 @@ PanelWindow {
height: Math.max(80 * scaling, contentColumn.implicitHeight + (Style.marginMedium * 2 * scaling))
clip: true
radius: Style.radiusMedium * scaling
border.color: Colors.accentPrimary
border.color: Colors.colorPrimary
border.width: Math.max(1, Style.borderThin * scaling)
gradient: Gradient {
GradientStop {
position: 0.0
color: Colors.backgroundSecondary
}
GradientStop {
position: 1.0
color: Colors.backgroundTertiary
}
}
color: Colors.colorSurface
// Animation properties
property real scaleValue: 0.8
@ -142,14 +133,14 @@ PanelWindow {
spacing: Style.marginSmall * scaling
NText {
text: (model.appName || model.desktopEntry) || "Unknown App"
color: Colors.accentSecondary
color: Colors.colorSecondary
font.pointSize: Style.fontSizeSmall * scaling
}
Rectangle {
width: 6 * scaling
height: 6 * scaling
radius: 3 * scaling
color: (model.urgency === NotificationUrgency.Critical) ? Colors.error : (model.urgency === NotificationUrgency.Low) ? Colors.textSecondary : Colors.accentPrimary
color: (model.urgency === NotificationUrgency.Critical) ? Colors.colorError : (model.urgency === NotificationUrgency.Low) ? Colors.colorOnSurface : Colors.colorPrimary
Layout.alignment: Qt.AlignVCenter
}
Item {
@ -157,7 +148,7 @@ PanelWindow {
}
NText {
text: notificationService.formatTimestamp(model.timestamp)
color: Colors.textSecondary
color: Colors.colorOnSurface
font.pointSize: Style.fontSizeSmall * scaling
}
}
@ -166,7 +157,7 @@ PanelWindow {
text: model.summary || "No summary"
font.pointSize: Style.fontSizeLarge * scaling
font.weight: Style.fontWeightBold
color: Colors.textPrimary
color: Colors.colorOnSurface
wrapMode: Text.Wrap
width: 300 * scaling
maximumLineCount: 3
@ -176,7 +167,7 @@ PanelWindow {
NText {
text: model.body || ""
font.pointSize: Style.fontSizeSmall * scaling
color: Colors.textSecondary
color: Colors.colorOnSurface
wrapMode: Text.Wrap
width: 300 * scaling
maximumLineCount: 5

View file

@ -65,9 +65,9 @@ NLoader {
Rectangle {
id: notificationRect
color: Colors.backgroundSecondary
color: Colors.colorSurface
radius: Style.radiusMedium * scaling
border.color: Colors.backgroundTertiary
border.color: Colors.colorSurfaceVariant
border.width: Math.max(1, Style.borderMedium * scaling)
width: 400 * scaling
height: 500 * scaling
@ -117,14 +117,14 @@ NLoader {
text: "notifications"
font.family: "Material Symbols Outlined"
font.pointSize: Style.fontSizeXL * scaling
color: Colors.accentPrimary
color: Colors.colorPrimary
}
NText {
text: "Notification History"
font.pointSize: Style.fontSizeLarge * scaling
font.bold: true
color: Colors.textPrimary
color: Colors.colorOnSurface
Layout.fillWidth: true
}
@ -159,7 +159,7 @@ NLoader {
width: notificationList ? (notificationList.width - 20) : 380 * scaling
height: Math.max(80, notificationContent.height + 30)
radius: Style.radiusMedium * scaling
color: notificationMouseArea.containsMouse ? Colors.accentPrimary : "transparent"
color: notificationMouseArea.containsMouse ? Colors.colorPrimary : "transparent"
RowLayout {
anchors {
@ -179,7 +179,7 @@ NLoader {
text: (summary || "No summary").substring(0, 100)
font.pointSize: Style.fontSizeMedium * scaling
font.weight: Font.Medium
color: notificationMouseArea.containsMouse ? Colors.backgroundPrimary : Colors.textPrimary
color: notificationMouseArea.containsMouse ? Colors.colorSurface : Colors.colorOnSurface
wrapMode: Text.Wrap
width: parent.width - 30
maximumLineCount: 2
@ -189,7 +189,7 @@ NLoader {
NText {
text: (body || "").substring(0, 150)
font.pointSize: Style.fontSizeSmall * scaling
color: notificationMouseArea.containsMouse ? Colors.backgroundPrimary : Colors.textSecondary
color: notificationMouseArea.containsMouse ? Colors.colorSurface : Colors.colorOnSurface
wrapMode: Text.Wrap
width: parent.width - 30
maximumLineCount: 3
@ -199,7 +199,7 @@ NLoader {
NText {
text: NotificationService.formatTimestamp(timestamp)
font.pointSize: Style.fontSizeSmall * scaling
color: notificationMouseArea.containsMouse ? Colors.backgroundPrimary : Colors.textSecondary
color: notificationMouseArea.containsMouse ? Colors.colorSurface : Colors.colorOnSurface
}
}
}

View file

@ -158,9 +158,9 @@ NLoader {
Rectangle {
id: bgRect
color: Colors.backgroundPrimary
color: Colors.colorSurface
radius: Style.radiusLarge * scaling
border.color: Colors.backgroundTertiary
border.color: Colors.colorOutlineVariant
border.width: Math.max(1, Style.borderMedium * scaling)
layer.enabled: true
width: (screen.width * 0.5) * scaling
@ -209,10 +209,10 @@ NLoader {
id: sidebar
Layout.preferredWidth: 260 * scaling
Layout.fillHeight: true
radius: Style.radiusMedium * scaling
color: Colors.backgroundSecondary
border.color: Colors.outline
color: Colors.colorSurfaceVariant
border.color: Colors.colorOutlineVariant
border.width: Math.max(1, Style.borderThin * scaling)
radius: Style.radiusMedium * scaling
Column {
anchors.fill: parent
@ -229,7 +229,7 @@ NLoader {
width: parent.width
height: 32 * scaling // Back to original height
radius: Style.radiusSmall * scaling
color: selected ? Colors.accentPrimary : (tabItem.hovering ? Colors.hover : "transparent")
color: selected ? Colors.colorPrimary : (tabItem.hovering ? Colors.colorTertiary : "transparent")
border.color: "transparent"
border.width: 0
@ -238,24 +238,28 @@ NLoader {
// Subtle hover effect: only icon/text color tint on hover
property bool hovering: false
property color tabTextColor: selected ? Colors.colorOnPrimary : (tabItem.hovering ? Colors.colorOnTertiary : Colors.colorOnSurface)
RowLayout {
anchors.fill: parent
anchors.leftMargin: Style.marginSmall * scaling
anchors.rightMargin: Style.marginSmall * scaling
spacing: Style.marginSmall * scaling
// Tab icon on the left side
NText {
text: modelData.icon
color: tabTextColor
font.family: "Material Symbols Outlined"
font.variableAxes: {
"wght": (Font.Normal + Font.Bold) / 2.0
}
font.pointSize: Style.fontSizeLarge * scaling
color: selected ? Colors.onAccent : (tabItem.hovering ? Colors.onAccent : Colors.textSecondary)
}
// Tab label on the left side
NText {
text: modelData.label
color: selected ? Colors.onAccent : (tabItem.hovering ? Colors.onAccent : Colors.textPrimary)
color: tabTextColor
font.pointSize: Style.fontSizeMedium * scaling
font.weight: Style.fontWeightBold
Layout.fillWidth: true
@ -281,8 +285,8 @@ NLoader {
Layout.fillWidth: true
Layout.fillHeight: true
radius: Style.radiusMedium * scaling
color: Colors.surfaceVariant
border.color: Colors.outline
color: Colors.colorSurfaceVariant
border.color: Colors.colorOutlineVariant
border.width: Math.max(1, Style.borderThin * scaling)
clip: true
@ -302,7 +306,7 @@ NLoader {
text: panel.tabsModel[currentTabIndex].label
font.pointSize: Style.fontSizeLarge * scaling
font.weight: Style.fontWeightBold
color: Colors.accentPrimary
color: Colors.colorPrimary
Layout.fillWidth: true
}
NIconButton {

View file

@ -59,7 +59,7 @@ ColumnLayout {
text: "Noctalia: quiet by design"
font.pointSize: Style.fontSizeXXL * scaling
font.weight: Style.fontWeightBold
color: Colors.textPrimary
color: Colors.colorOnSurface
Layout.alignment: Qt.AlignCenter
Layout.bottomMargin: Style.marginSmall * scaling
}
@ -67,7 +67,7 @@ ColumnLayout {
NText {
text: "It may just be another quickshell setup but it won't get in your way."
font.pointSize: Style.fontSizeMedium * scaling
color: Colors.textSecondary
color: Colors.colorOnSurface
Layout.alignment: Qt.AlignCenter
Layout.bottomMargin: Style.marginLarge * scaling
}
@ -80,25 +80,25 @@ ColumnLayout {
NText {
text: "Latest Version:"
color: Colors.textSecondary
color: Colors.colorOnSurface
Layout.alignment: Qt.AlignRight
}
NText {
text: root.latestVersion
color: Colors.textPrimary
color: Colors.colorOnSurface
font.weight: Style.fontWeightBold
}
NText {
text: "Installed Version:"
color: Colors.textSecondary
color: Colors.colorOnSurface
Layout.alignment: Qt.AlignRight
}
NText {
text: root.currentVersion
color: Colors.textPrimary
color: Colors.colorOnSurface
font.weight: Style.fontWeightBold
}
}
@ -109,8 +109,8 @@ ColumnLayout {
Layout.preferredWidth: updateText.implicitWidth + 46 * scaling
Layout.preferredHeight: 32 * scaling
radius: Style.radiusLarge * scaling
color: updateArea.containsMouse ? Colors.accentPrimary : "transparent"
border.color: Colors.accentPrimary
color: updateArea.containsMouse ? Colors.colorPrimary : "transparent"
border.color: Colors.colorPrimary
border.width: 1
visible: {
if (root.currentVersion === "Unknown" || root.latestVersion === "Unknown")
@ -138,14 +138,14 @@ ColumnLayout {
text: "system_update"
font.family: "Material Symbols Outlined"
font.pointSize: 18 * scaling
color: updateArea.containsMouse ? Colors.backgroundPrimary : Colors.accentPrimary
color: updateArea.containsMouse ? Colors.colorSurface : Colors.colorPrimary
}
NText {
id: updateText
text: "Download latest release"
font.pointSize: 14 * scaling
color: updateArea.containsMouse ? Colors.backgroundPrimary : Colors.accentPrimary
color: updateArea.containsMouse ? Colors.colorSurface : Colors.colorPrimary
}
}
@ -171,7 +171,7 @@ ColumnLayout {
text: `Shout-out to our ${root.contributors.length} awesome contributors!`
font.pointSize: Style.fontSizeLarge * scaling
font.weight: Style.fontWeightBold
color: Colors.textSecondary
color: Colors.colorOnSurface
Layout.alignment: Qt.AlignCenter
Layout.topMargin: Style.marginLarge * 2
}
@ -199,7 +199,7 @@ ColumnLayout {
width: contributorsGrid.cellWidth - Style.marginLarge * scaling
height: contributorsGrid.cellHeight - Style.marginTiny * scaling
radius: Style.radiusLarge * scaling
color: contributorArea.containsMouse ? Colors.hover : "transparent"
color: contributorArea.containsMouse ? Colors.colorTertiary : "transparent"
RowLayout {
anchors.fill: parent
@ -216,7 +216,7 @@ ColumnLayout {
anchors.fill: parent
anchors.margins: Style.marginTiny * scaling
fallbackIcon: "person"
borderColor: Colors.accentPrimary
borderColor: Colors.colorPrimary
borderWidth: Math.max(1, Style.borderMedium * scaling)
imageRadius: width * 0.5
}
@ -230,7 +230,7 @@ ColumnLayout {
NText {
text: modelData.login || "Unknown"
font.weight: Style.fontWeightBold
color: contributorArea.containsMouse ? Colors.backgroundPrimary : Colors.textPrimary
color: contributorArea.containsMouse ? Colors.colorSurface : Colors.colorOnSurface
elide: Text.ElideRight
Layout.fillWidth: true
}
@ -239,7 +239,7 @@ ColumnLayout {
text: (modelData.contributions || 0) + " " + ((modelData.contributions
|| 0) === 1 ? "commit" : "commits")
font.pointSize: Style.fontSizeSmall * scaling
color: contributorArea.containsMouse ? Colors.backgroundPrimary : Colors.textSecondary
color: contributorArea.containsMouse ? Colors.colorSurface : Colors.colorOnSurface
}
}
}

View file

@ -49,7 +49,7 @@ ColumnLayout {
text: "Audio"
font.pointSize: Style.fontSizeXL * scaling
font.weight: Style.fontWeightBold
color: Colors.textPrimary
color: Colors.colorOnSurface
Layout.bottomMargin: Style.marginSmall * scaling
}
@ -70,13 +70,13 @@ ColumnLayout {
NText {
text: "Master Volume"
font.weight: Style.fontWeightBold
color: Colors.textPrimary
color: Colors.colorOnSurface
}
NText {
text: "System-wide volume level"
font.pointSize: Style.fontSizeSmall * scaling
color: Colors.textSecondary
color: Colors.colorOnSurface
wrapMode: Text.WordWrap
Layout.fillWidth: true
}
@ -110,7 +110,7 @@ ColumnLayout {
NText {
text: Math.floor(Audio.volume * 100) + "%"
Layout.alignment: Qt.AlignVCenter
color: Colors.textSecondary
color: Colors.colorOnSurface
}
}
}
@ -149,7 +149,7 @@ ColumnLayout {
text: "Audio Devices"
font.pointSize: Style.fontSizeXL * scaling
font.weight: Style.fontWeightBold
color: Colors.textPrimary
color: Colors.colorOnSurface
Layout.bottomMargin: Style.marginSmall * scaling
}
@ -168,13 +168,13 @@ ColumnLayout {
text: "Output Device"
font.pointSize: Style.fontSizeMedium * scaling
font.weight: Style.fontWeightBold
color: Colors.textPrimary
color: Colors.colorOnSurface
}
NText {
text: "Select the desired audio output device"
font.pointSize: Style.fontSizeSmall * scaling
color: Colors.textSecondary
color: Colors.colorOnSurface
wrapMode: Text.WordWrap
Layout.fillWidth: true
}
@ -207,13 +207,13 @@ ColumnLayout {
text: "Input Device"
font.pointSize: Style.fontSizeMedium * scaling
font.weight: Style.fontWeightBold
color: Colors.textPrimary
color: Colors.colorOnSurface
}
NText {
text: "Select desired audio input device"
font.pointSize: Style.fontSizeSmall * scaling
color: Colors.textSecondary
color: Colors.colorOnSurface
wrapMode: Text.WordWrap
Layout.fillWidth: true
}
@ -247,7 +247,7 @@ ColumnLayout {
text: "Audio Visualizer"
font.pointSize: Style.fontSizeXL * scaling
font.weight: Style.fontWeightBold
color: Colors.textPrimary
color: Colors.colorOnSurface
Layout.bottomMargin: Style.marginSmall * scaling
}

View file

@ -36,7 +36,7 @@ ColumnLayout {
text: "Components"
font.pointSize: Style.fontSizeXL * scaling
font.weight: Style.fontWeightBold
color: Colors.textPrimary
color: Colors.colorOnSurface
}
NToggle {

View file

@ -44,7 +44,7 @@ Item {
text: "Permonitor configuration"
font.pointSize: Style.fontSizeXL * scaling
font.weight: Style.fontWeightBold
color: Colors.textPrimary
color: Colors.colorOnSurface
}
Repeater {
@ -52,8 +52,8 @@ Item {
delegate: Rectangle {
Layout.fillWidth: true
radius: Style.radiusMedium * scaling
color: Colors.surface
border.color: Colors.outline
color: Colors.colorSurface
border.color: Colors.colorOutline
border.width: Math.max(1, Style.borderThin * scaling)
implicitHeight: contentCol.implicitHeight + Style.marginXL * 2 * scaling
@ -67,13 +67,13 @@ Item {
text: (modelData.name || "Unknown")
font.pointSize: Style.fontSizeLarge * scaling
font.weight: Style.fontWeightBold
color: Colors.accentSecondary
color: Colors.colorSecondary
}
NText {
text: `Resolution: ${modelData.width}x${modelData.height} - Position: (${modelData.x}, ${modelData.y})`
font.pointSize: Style.fontSizeSmall * scaling
color: Colors.textSecondary
color: Colors.colorOnSurface
}
ColumnLayout {

View file

@ -36,7 +36,7 @@ ColumnLayout {
text: "General Settings"
font.pointSize: Style.fontSizeXL * scaling
font.weight: Style.fontWeightBold
color: Colors.textPrimary
color: Colors.colorOnSurface
}
// Profile section
@ -55,7 +55,7 @@ ColumnLayout {
height: 64 * scaling
imagePath: Settings.data.general.avatarImage
fallbackIcon: "person"
borderColor: Colors.accentPrimary
borderColor: Colors.colorPrimary
borderWidth: Math.max(1, Style.borderMedium)
}
@ -87,7 +87,7 @@ ColumnLayout {
text: "User Interface"
font.pointSize: Style.fontSizeXL * scaling
font.weight: Style.fontWeightBold
color: Colors.textPrimary
color: Colors.colorOnSurface
Layout.bottomMargin: Style.marginSmall * scaling
}

View file

@ -36,7 +36,7 @@ ColumnLayout {
text: "Miscellaneous Settings"
font.pointSize: Style.fontSizeXL * scaling
font.weight: Style.fontWeightBold
color: Colors.textPrimary
color: Colors.colorOnSurface
Layout.bottomMargin: Style.marginSmall * scaling
}
}

View file

@ -38,7 +38,7 @@ ColumnLayout {
text: "Interfaces"
font.pointSize: Style.fontSizeXL * scaling
font.weight: Style.fontWeightBold
color: Colors.textPrimary
color: Colors.colorOnSurface
}
NToggle {

View file

@ -36,7 +36,7 @@ ColumnLayout {
text: "Recording"
font.pointSize: Style.fontSizeXL * scaling
font.weight: Style.fontWeightBold
color: Colors.textPrimary
color: Colors.colorOnSurface
Layout.bottomMargin: Style.marginSmall * scaling
}
@ -87,7 +87,7 @@ ColumnLayout {
text: "Video Settings"
font.pointSize: Style.fontSizeXL * scaling
font.weight: Style.fontWeightBold
color: Colors.textPrimary
color: Colors.colorOnSurface
Layout.bottomMargin: Style.marginSmall * scaling
}
@ -155,7 +155,7 @@ ColumnLayout {
text: "Audio Settings"
font.pointSize: Style.fontSizeXL * scaling
font.weight: Style.fontWeightBold
color: Colors.textPrimary
color: Colors.colorOnSurface
Layout.bottomMargin: Style.marginSmall * scaling
}

View file

@ -36,7 +36,7 @@ ColumnLayout {
text: "Location"
font.pointSize: Style.fontSizeXL * scaling
font.weight: Style.fontWeightBold
color: Colors.textPrimary
color: Colors.colorOnSurface
Layout.bottomMargin: Style.marginSmall * scaling
}
@ -73,7 +73,7 @@ ColumnLayout {
text: "Time Format"
font.pointSize: Style.fontSizeXL * scaling
font.weight: Style.fontWeightBold
color: Colors.textPrimary
color: Colors.colorOnSurface
Layout.bottomMargin: 8
}
@ -111,7 +111,7 @@ ColumnLayout {
text: "Weather"
font.pointSize: Style.fontSizeXL * scaling
font.weight: Style.fontWeightBold
color: Colors.textPrimary
color: Colors.colorOnSurface
Layout.bottomMargin: Style.marginSmall * scaling
}

View file

@ -36,7 +36,7 @@ ColumnLayout {
text: "Directory"
font.pointSize: Style.fontSizeXL * scaling
font.weight: Style.fontWeightBold
color: Colors.textPrimary
color: Colors.colorOnSurface
Layout.bottomMargin: Style.marginSmall * scaling
}
@ -78,7 +78,7 @@ ColumnLayout {
text: "Automation"
font.pointSize: Style.fontSizeXL * scaling
font.weight: Style.fontWeightBold
color: Colors.textPrimary
color: Colors.colorOnSurface
Layout.bottomMargin: Style.marginSmall * scaling
}
@ -111,13 +111,13 @@ ColumnLayout {
NText {
text: "Wallpaper Interval"
font.weight: Style.fontWeightBold
color: Colors.textPrimary
color: Colors.colorOnSurface
}
NText {
text: "How often to change wallpapers automatically (in seconds)"
font.pointSize: Style.fontSizeSmall * scaling
color: Colors.textSecondary
color: Colors.colorOnSurface
wrapMode: Text.WordWrap
Layout.fillWidth: true
}
@ -137,7 +137,7 @@ ColumnLayout {
stepSize: 10
value: Settings.data.wallpaper.randomInterval
onPressedChanged: Settings.data.wallpaper.randomInterval = Math.round(value)
cutoutColor: Colors.backgroundPrimary
cutoutColor: Colors.colorSurface
}
}
}
@ -158,7 +158,7 @@ ColumnLayout {
text: "SWWW"
font.pointSize: Style.fontSizeXL * scaling
font.weight: Style.fontWeightBold
color: Colors.textPrimary
color: Colors.colorOnSurface
Layout.bottomMargin: 8
}
@ -212,13 +212,13 @@ ColumnLayout {
NText {
text: "Transition FPS"
font.weight: Style.fontWeightBold
color: Colors.textPrimary
color: Colors.colorOnSurface
}
NText {
text: "Frames per second for transition animations"
font.pointSize: Style.fontSizeSmall * scaling
color: Colors.textSecondary
color: Colors.colorOnSurface
wrapMode: Text.WordWrap
Layout.fillWidth: true
}
@ -238,7 +238,7 @@ ColumnLayout {
stepSize: 5
value: Settings.data.wallpaper.swww.transitionFps
onPressedChanged: Settings.data.wallpaper.swww.transitionFps = Math.round(value)
cutoutColor: Colors.backgroundPrimary
cutoutColor: Colors.colorSurface
}
}
@ -251,13 +251,13 @@ ColumnLayout {
NText {
text: "Transition Duration"
font.weight: Style.fontWeightBold
color: Colors.textPrimary
color: Colors.colorOnSurface
}
NText {
text: "Duration of transition animations in seconds"
font.pointSize: Style.fontSizeSmall * scaling
color: Colors.textSecondary
color: Colors.colorOnSurface
wrapMode: Text.WordWrap
Layout.fillWidth: true
}
@ -277,7 +277,7 @@ ColumnLayout {
stepSize: 0.05
value: Settings.data.wallpaper.swww.transitionDuration
onPressedChanged: Settings.data.wallpaper.swww.transitionDuration = value
cutoutColor: Colors.backgroundPrimary
cutoutColor: Colors.colorSurface
}
}
}

View file

@ -32,15 +32,15 @@ Item {
text: "Current Wallpaper"
font.pointSize: Style.fontSizeXL * scaling
font.weight: Style.fontWeightBold
color: Colors.textPrimary
color: Colors.colorOnSurface
}
Rectangle {
Layout.fillWidth: true
Layout.preferredHeight: 120 * scaling
radius: Style.radiusMedium * scaling
color: Colors.backgroundSecondary
border.color: Colors.outline
color: Colors.colorSurface
border.color: Colors.colorOutline
border.width: Math.max(1, Style.borderThin * scaling)
clip: true
@ -50,7 +50,7 @@ Item {
anchors.margins: Style.marginSmall * scaling
imagePath: Wallpapers.currentWallpaper
fallbackIcon: "image"
borderColor: Colors.outline
borderColor: Colors.colorOutline
borderWidth: Math.max(1, Style.borderThin * scaling)
imageRadius: Style.radiusMedium * scaling
}
@ -73,12 +73,12 @@ Item {
text: "Wallpaper Selector"
font.pointSize: Style.fontSizeXL * scaling
font.weight: Style.fontWeightBold
color: Colors.textPrimary
color: Colors.colorOnSurface
}
NText {
text: "Click on a wallpaper to set it as your current wallpaper"
color: Colors.textSecondary
color: Colors.colorOnSurface
wrapMode: Text.WordWrap
Layout.fillWidth: true
}
@ -86,7 +86,7 @@ Item {
NText {
text: Settings.data.wallpaper.swww.enabled ? "Wallpapers will change with " + Settings.data.wallpaper.swww.transitionType
+ " transition" : "Wallpapers will change instantly"
color: Colors.textSecondary
color: Colors.colorOnSurface
font.pointSize: Style.fontSizeSmall * scaling
visible: Settings.data.wallpaper.swww.enabled
}
@ -147,8 +147,8 @@ Item {
width: wallpaperGridView.itemSize
height: Math.floor(wallpaperGridView.itemSize * 0.67)
radius: Style.radiusMedium * scaling
color: isSelected ? Colors.accentPrimary : Colors.backgroundSecondary
border.color: isSelected ? Colors.accentSecondary : Colors.outline
color: isSelected ? Colors.colorPrimary : Colors.colorSurface
border.color: isSelected ? Colors.colorSecondary : Colors.colorOutline
border.width: Math.max(1, Style.borderThin * scaling)
clip: true
@ -170,8 +170,8 @@ Item {
width: 20 * scaling
height: 20 * scaling
radius: width / 2
color: Colors.accentPrimary
border.color: Colors.onAccent
color: Colors.colorPrimary
border.color: Colors.colorOutline
border.width: Math.max(1, Style.borderThin * scaling)
visible: isSelected
@ -180,14 +180,14 @@ Item {
text: "check"
font.family: "Material Symbols Outlined"
font.pointSize: Style.fontSizeSmall * scaling
color: Colors.onAccent
color: Colors.colorOnPrimary
}
}
// Hover effect
Rectangle {
anchors.fill: parent
color: Colors.textPrimary
color: Colors.colorOnSurface
opacity: mouseArea.containsMouse ? 0.1 : 0
radius: parent.radius
@ -213,9 +213,9 @@ Item {
// Empty state
Rectangle {
anchors.fill: parent
color: Colors.backgroundSecondary
color: Colors.colorSurface
radius: Style.radiusMedium * scaling
border.color: Colors.outline
border.color: Colors.colorOutline
border.width: Math.max(1, Style.borderThin * scaling)
visible: folderModel.count === 0 && !Wallpapers.scanning
@ -227,20 +227,20 @@ Item {
text: "folder_open"
font.family: "Material Symbols Outlined"
font.pointSize: Style.fontSizeLarge * scaling
color: Colors.textSecondary
color: Colors.colorOnSurface
Layout.alignment: Qt.AlignHCenter
}
NText {
text: "No wallpapers found"
color: Colors.textSecondary
color: Colors.colorOnSurface
font.weight: Style.fontWeightBold
Layout.alignment: Qt.AlignHCenter
}
NText {
text: "Make sure your wallpaper directory is configured and contains image files"
color: Colors.textSecondary
color: Colors.colorOnSurface
wrapMode: Text.WordWrap
horizontalAlignment: Text.AlignHCenter
Layout.preferredWidth: 300 * scaling

View file

@ -39,13 +39,13 @@ NBox {
NText {
text: "album"
font.family: "Material Symbols Outlined"
font.pointSize: 28 * scaling
color: Colors.textSecondary
font.pointSize: Style.fontSizeXXL * 2.5 * scaling
color: Colors.colorOnSurfaceVariant
Layout.alignment: Qt.AlignHCenter
}
NText {
text: "No media player detected"
color: Colors.textDisabled
color: Colors.colorOnSurfaceVariant
Layout.alignment: Qt.AlignHCenter
}
@ -76,7 +76,7 @@ NBox {
// implicitWidth: 120 * scaling
// implicitHeight: 30 * scaling
color: "transparent"
border.color: playerSelector.activeFocus ? Colors.hover : Colors.outline
border.color: playerSelector.activeFocus ? Colors.colorTertiary : Colors.colorOutline
border.width: Math.max(1, Style.borderThin * scaling)
radius: Style.radiusMedium * scaling
}
@ -87,7 +87,7 @@ NBox {
rightPadding: playerSelector.indicator.width + playerSelector.spacing
text: playerSelector.displayText
font.pointSize: Style.fontSizeSmall * scaling
color: Colors.textPrimary
color: Colors.colorOnSurface
verticalAlignment: Text.AlignVCenter
elide: Text.ElideRight
}
@ -98,7 +98,7 @@ NBox {
text: "arrow_drop_down"
font.family: "Material Symbols Outlined"
font.pointSize: Style.fontSizeXL * scaling
color: Colors.textPrimary
color: Colors.colorOnSurface
horizontalAlignment: Text.AlignRight
}
@ -122,14 +122,14 @@ NBox {
gradient: Gradient {
GradientStop {
position: 0.0
color: Colors.backgroundSecondary
color: Colors.colorSurface
}
GradientStop {
position: 1.0
color: Colors.backgroundTertiary
color: Colors.colorSurfaceVariant
}
}
border.color: Colors.outline
border.color: Colors.colorOutline
border.width: Math.max(1, Style.borderThin * scaling)
radius: Style.radiusTiny * scaling
}
@ -140,7 +140,7 @@ NBox {
contentItem: NText {
text: modelData.identity
font.pointSize: Style.fontSizeSmall * scaling
color: highlighted ? Colors.backgroundPrimary : Colors.textPrimary
color: highlighted ? Colors.colorSurface : Colors.colorOnSurface
verticalAlignment: Text.AlignVCenter
elide: Text.ElideRight
}
@ -148,7 +148,7 @@ NBox {
background: Rectangle {
width: popup.width - Style.marginSmall * scaling * 2
color: highlighted ? Colors.hover : "transparent"
color: highlighted ? Colors.colorTertiary : "transparent"
radius: Style.radiusTiny * scaling
}
}
@ -169,8 +169,8 @@ NBox {
width: 90 * scaling
height: 90 * scaling
radius: width * 0.5
color: trackArt.visible ? Colors.accentPrimary : "transparent"
border.color: trackArt.visible ? Colors.outline : "transparent"
color: trackArt.visible ? Colors.colorPrimary : "transparent"
border.color: trackArt.visible ? Colors.colorOutline : "transparent"
border.width: Math.max(1, Style.borderThin * scaling)
clip: true
@ -182,7 +182,7 @@ NBox {
anchors.margins: Style.marginTiny * scaling
imagePath: MediaPlayer.trackArtUrl
fallbackIcon: "image"
borderColor: Colors.outline
borderColor: Colors.colorOutline
borderWidth: Math.max(1, Style.borderThin * scaling)
imageRadius: width * 0.5
}
@ -217,7 +217,7 @@ NBox {
NText {
visible: MediaPlayer.trackArtist !== ""
text: MediaPlayer.trackArtist
color: Colors.textSecondary
color: Colors.colorOnSurface
font.pointSize: Style.fontSizeSmall * scaling
elide: Text.ElideRight
Layout.fillWidth: true
@ -226,7 +226,7 @@ NBox {
NText {
visible: MediaPlayer.trackAlbum !== ""
text: MediaPlayer.trackAlbum
color: Colors.textSecondary
color: Colors.colorOnSurface
font.pointSize: Style.fontSizeSmall * scaling
elide: Text.ElideRight
Layout.fillWidth: true
@ -241,7 +241,7 @@ NBox {
width: parent.width
height: 4 * scaling
radius: Style.radiusSmall * scaling
color: Colors.backgroundTertiary
color: Colors.colorSurfaceVariant
Layout.fillWidth: true
property real progressRatio: {
@ -256,7 +256,7 @@ NBox {
width: progressBarBackground.progressRatio * parent.width
height: parent.height
radius: parent.radius
color: Colors.accentPrimary
color: Colors.colorPrimary
Behavior on width {
NumberAnimation {
@ -271,8 +271,8 @@ NBox {
width: 16 * scaling
height: 16 * scaling
radius: width * 0.5
color: Colors.accentPrimary
border.color: Colors.backgroundPrimary
color: Colors.colorPrimary
border.color: Colors.colorSurface
border.width: Math.max(1 * Style.borderMedium * scaling)
x: Math.max(0, Math.min(parent.width - width, progressFill.width - width / 2))
@ -345,7 +345,7 @@ NBox {
width: 300 * scaling
height: 80 * scaling
values: Cava.values
fillColor: Colors.textPrimary
fillColor: Colors.colorOnSurface
Layout.alignment: Qt.AlignHCenter
}
}
@ -355,8 +355,8 @@ NBox {
// values: Cava.values
// innerRadius: 30 * scaling // Position just outside 60x60 album art
// outerRadius: 48 * scaling // Extend bars outward from album art
// fillColor: Colors.accentPrimary
// strokeColor: Colors.accentPrimary
// fillColor: Colors.colorPrimary
// strokeColor: Colors.colorPrimary
// strokeWidth: 0 * scaling
// }
}

View file

@ -33,7 +33,7 @@ NBox {
height: Style.baseWidgetSize * 1.25 * scaling
imagePath: Settings.data.general.avatarImage
fallbackIcon: "person"
borderColor: Colors.accentPrimary
borderColor: Colors.colorPrimary
borderWidth: Math.max(1, Style.borderMedium * scaling)
}
@ -46,7 +46,7 @@ NBox {
}
NText {
text: `System Uptime: ${uptimeText}`
color: Colors.textSecondary
color: Colors.colorOnSurface
}
}

View file

@ -30,7 +30,7 @@ NBox {
text: weatherReady ? Location.weatherSymbolFromCode(Location.data.weather.current_weather.weathercode) : ""
font.family: "Material Symbols Outlined"
font.pointSize: Style.fontSizeXXL * 1.5 * scaling
color: Colors.accentPrimary
color: Colors.colorPrimary
}
ColumnLayout {
@ -91,13 +91,13 @@ NBox {
spacing: Style.marginSmall * scaling
NText {
text: Qt.formatDateTime(new Date(Location.data.weather.daily.time[index]), "ddd")
color: Colors.textPrimary
color: Colors.colorOnSurface
}
NText {
text: Location.weatherSymbolFromCode(Location.data.weather.daily.weathercode[index])
font.family: "Material Symbols Outlined"
font.pointSize: Style.fontSizeXL * scaling
color: Colors.accentPrimary
color: Colors.colorPrimary
}
NText {
text: {
@ -112,7 +112,7 @@ NBox {
return `${max}°/${min}°`
}
font.pointSize: Style.fontSizeSmall * scaling
color: Colors.textSecondary
color: Colors.colorOnSurfaceVariant
}
}
}

View file

@ -25,16 +25,16 @@ NPanel {
width: 160 * scaling
height: 220 * scaling
radius: Style.radiusMedium * scaling
border.color: Colors.outline
border.color: Colors.colorOutline
border.width: Math.max(1, Style.borderThin * scaling)
gradient: Gradient {
GradientStop {
position: 0.0
color: Colors.backgroundSecondary
color: Colors.colorSurface
}
GradientStop {
position: 1.0
color: Colors.backgroundTertiary
color: Colors.colorSurfaceVariant
}
}
@ -65,7 +65,7 @@ NPanel {
Layout.fillWidth: true
Layout.preferredHeight: 36 * scaling
radius: Style.radiusSmall * scaling
color: lockButtonArea.containsMouse ? Colors.hover : "transparent"
color: lockButtonArea.containsMouse ? Colors.colorTertiary : "transparent"
Item {
anchors.left: parent.left
@ -88,7 +88,7 @@ NPanel {
font.variableAxes: {
"wght": (Font.Normal + Font.Bold) / 2.0
}
color: lockButtonArea.containsMouse ? Colors.textPrimary : Colors.textPrimary
color: lockButtonArea.containsMouse ? Colors.colorOnSurface : Colors.colorOnSurface
verticalAlignment: Text.AlignVCenter
anchors.verticalCenter: parent.verticalCenter
anchors.verticalCenterOffset: 1 * scaling
@ -96,7 +96,7 @@ NPanel {
Text {
text: "Lock Screen"
color: lockButtonArea.containsMouse ? Colors.textPrimary : Colors.textPrimary
color: lockButtonArea.containsMouse ? Colors.colorOnSurface : Colors.colorOnSurface
verticalAlignment: Text.AlignVCenter
anchors.verticalCenter: parent.verticalCenter
anchors.verticalCenterOffset: 1 * scaling
@ -125,7 +125,7 @@ NPanel {
Layout.fillWidth: true
Layout.preferredHeight: 36 * scaling
radius: Style.radiusSmall * scaling
color: suspendButtonArea.containsMouse ? Colors.hover : "transparent"
color: suspendButtonArea.containsMouse ? Colors.colorTertiary : "transparent"
Item {
anchors.left: parent.left
@ -148,7 +148,7 @@ NPanel {
font.variableAxes: {
"wght": (Font.Normal + Font.Bold) / 2.0
}
color: suspendButtonArea.containsMouse ? Colors.textPrimary : Colors.textPrimary
color: suspendButtonArea.containsMouse ? Colors.colorOnSurface : Colors.colorOnSurface
verticalAlignment: Text.AlignVCenter
anchors.verticalCenter: parent.verticalCenter
anchors.verticalCenterOffset: 1 * scaling
@ -156,7 +156,7 @@ NPanel {
Text {
text: "Suspend"
color: suspendButtonArea.containsMouse ? Colors.textPrimary : Colors.textPrimary
color: suspendButtonArea.containsMouse ? Colors.colorOnSurface : Colors.colorOnSurface
verticalAlignment: Text.AlignVCenter
anchors.verticalCenter: parent.verticalCenter
anchors.verticalCenterOffset: 1 * scaling
@ -183,7 +183,7 @@ NPanel {
Layout.fillWidth: true
Layout.preferredHeight: 36 * scaling
radius: Style.radiusSmall * scaling
color: rebootButtonArea.containsMouse ? Colors.hover : "transparent"
color: rebootButtonArea.containsMouse ? Colors.colorTertiary : "transparent"
Item {
anchors.left: parent.left
@ -206,7 +206,7 @@ NPanel {
font.variableAxes: {
"wght": (Font.Normal + Font.Bold) / 2.0
}
color: rebootButtonArea.containsMouse ? Colors.textPrimary : Colors.textPrimary
color: rebootButtonArea.containsMouse ? Colors.colorOnSurface : Colors.colorOnSurface
verticalAlignment: Text.AlignVCenter
anchors.verticalCenter: parent.verticalCenter
anchors.verticalCenterOffset: 1 * scaling
@ -214,7 +214,7 @@ NPanel {
Text {
text: "Reboot"
color: rebootButtonArea.containsMouse ? Colors.textPrimary : Colors.textPrimary
color: rebootButtonArea.containsMouse ? Colors.colorOnSurface : Colors.colorOnSurface
verticalAlignment: Text.AlignVCenter
anchors.verticalCenter: parent.verticalCenter
anchors.verticalCenterOffset: 1 * scaling
@ -241,7 +241,7 @@ NPanel {
Layout.fillWidth: true
Layout.preferredHeight: 36 * scaling
radius: Style.radiusSmall * scaling
color: logoutButtonArea.containsMouse ? Colors.hover : "transparent"
color: logoutButtonArea.containsMouse ? Colors.colorTertiary : "transparent"
Item {
anchors.left: parent.left
@ -264,7 +264,7 @@ NPanel {
font.variableAxes: {
"wght": (Font.Normal + Font.Bold) / 2.0
}
color: logoutButtonArea.containsMouse ? Colors.textPrimary : Colors.textPrimary
color: logoutButtonArea.containsMouse ? Colors.colorOnSurface : Colors.colorOnSurface
verticalAlignment: Text.AlignVCenter
anchors.verticalCenter: parent.verticalCenter
anchors.verticalCenterOffset: 1 * scaling
@ -272,7 +272,7 @@ NPanel {
Text {
text: "Logout"
color: logoutButtonArea.containsMouse ? Colors.textPrimary : Colors.textPrimary
color: logoutButtonArea.containsMouse ? Colors.colorOnSurface : Colors.colorOnSurface
verticalAlignment: Text.AlignVCenter
anchors.verticalCenter: parent.verticalCenter
anchors.verticalCenterOffset: 1 * scaling
@ -299,7 +299,7 @@ NPanel {
Layout.fillWidth: true
Layout.preferredHeight: 36 * scaling
radius: Style.radiusSmall * scaling
color: shutdownButtonArea.containsMouse ? Colors.hover : "transparent"
color: shutdownButtonArea.containsMouse ? Colors.colorTertiary : "transparent"
Item {
anchors.left: parent.left
@ -322,7 +322,7 @@ NPanel {
font.variableAxes: {
"wght": (Font.Normal + Font.Bold) / 2.0
}
color: shutdownButtonArea.containsMouse ? Colors.textPrimary : Colors.textPrimary
color: shutdownButtonArea.containsMouse ? Colors.colorOnSurface : Colors.colorOnSurface
verticalAlignment: Text.AlignVCenter
anchors.verticalCenter: parent.verticalCenter
anchors.verticalCenterOffset: 1 * scaling
@ -330,7 +330,7 @@ NPanel {
Text {
text: "Shutdown"
color: shutdownButtonArea.containsMouse ? Colors.textPrimary : Colors.textPrimary
color: shutdownButtonArea.containsMouse ? Colors.colorOnSurface : Colors.colorOnSurface
verticalAlignment: Text.AlignVCenter
anchors.verticalCenter: parent.verticalCenter
anchors.verticalCenterOffset: 1 * scaling

View file

@ -81,20 +81,9 @@ NLoader {
// Inline helpers moved to dedicated widgets: NCard and NCircleStat
Rectangle {
id: panelBackground
color: "transparent"
gradient: Gradient {
GradientStop {
position: 0.0
color: Colors.backgroundSecondary
}
GradientStop {
position: 1.0
color: Colors.backgroundTertiary
}
}
color: Colors.colorSurface
radius: Style.radiusLarge * scaling
border.color: Colors.backgroundTertiary
border.color: Colors.colorOutline
border.width: Math.max(1, Style.borderMedium * scaling)
layer.enabled: true
width: 460 * scaling