Renamed Colors to Color

- some work on the active window
This commit is contained in:
quadbyte 2025-08-16 22:39:11 -04:00
parent ffd9ee8efe
commit 4fcdb1543d
60 changed files with 491 additions and 455 deletions

View file

@ -34,6 +34,8 @@ Singleton {
property color mOutlineVariant: customColors.mOutlineVariant
property color mShadow: customColors.mShadow
property color transparent: "transparent"
// -----------
function applyOpacity(color, opacity) {
// Convert color to string and apply opacity

View file

@ -49,7 +49,7 @@ Singleton {
reload()
}
onLoaded: function () {
Logger.log("Settings", "Loaded")
Logger.log("Settings", "OnLoaded")
Qt.callLater(function () {
// Only set wallpaper on initial load, not on reloads
if (isInitialLoad && adapter.wallpaper.current !== "") {
@ -75,7 +75,9 @@ Singleton {
property bool showActiveWindow: true
property bool showSystemInfo: false
property bool showMedia: false
property bool hideBrightness: false
property bool showBrightness: true
property bool showNotificationsHistory: true
property bool showTray: true
property list<string> monitors: []
}

View file

@ -15,6 +15,7 @@ Singleton {
// Font size
property real fontSizeTiny: 7
property real fontSizeSmall: 9
property real fontSizeReduced: 10
property real fontSizeMedium: 11
property real fontSizeInter: 12
property real fontSizeLarge: 13

View file

@ -255,19 +255,19 @@ NLoader {
width: Math.min(700 * scaling, parent.width * 0.75)
height: Math.min(550 * scaling, parent.height * 0.8)
radius: Style.radiusLarge * scaling
color: Colors.mSurface
border.color: Colors.mOutline
color: Color.mSurface
border.color: Color.mOutline
border.width: Style.borderThin * scaling
// Subtle gradient background
gradient: Gradient {
GradientStop {
position: 0.0
color: Qt.lighter(Colors.mSurface, 1.02)
color: Qt.lighter(Color.mSurface, 1.02)
}
GradientStop {
position: 1.0
color: Qt.darker(Colors.mSurface, 1.1)
color: Qt.darker(Color.mSurface, 1.1)
}
}
@ -282,8 +282,8 @@ NLoader {
Layout.preferredHeight: Style.barHeight * scaling
Layout.bottomMargin: Style.marginMedium * scaling
radius: Style.radiusMedium * scaling
color: Colors.mSurface
border.color: searchInput.activeFocus ? Colors.mPrimary : Colors.mOutline
color: Color.mSurface
border.color: searchInput.activeFocus ? Color.mPrimary : Color.mOutline
border.width: Math.max(
1,
searchInput.activeFocus ? Style.borderMedium * scaling : Style.borderThin * scaling)
@ -297,14 +297,14 @@ NLoader {
text: "search"
font.family: "Material Symbols Outlined"
font.pointSize: Style.fontSizeLarger * scaling
color: searchInput.activeFocus ? Colors.mPrimary : Colors.mOnSurface
color: searchInput.activeFocus ? Color.mPrimary : Color.mOnSurface
}
TextField {
id: searchInput
placeholderText: "Search applications..."
color: Colors.mOnSurface
placeholderTextColor: Colors.mOnSurface
color: Color.mOnSurface
placeholderTextColor: Color.mOnSurface
background: null
font.pointSize: Style.fontSizeLarge * scaling
Layout.fillWidth: true
@ -312,8 +312,8 @@ NLoader {
searchText = text
selectedIndex = 0 // Reset selection when search changes
}
selectedTextColor: Colors.mOnSurface
selectionColor: Colors.mPrimary
selectedTextColor: Color.mOnSurface
selectionColor: Color.mPrimary
padding: 0
verticalAlignment: TextInput.AlignVCenter
leftPadding: 0
@ -322,14 +322,14 @@ NLoader {
bottomPadding: 0
font.bold: true
Component.onCompleted: {
contentItem.cursorColor = Colors.mOnSurface
contentItem.cursorColor = Color.mOnSurface
contentItem.verticalAlignment = TextInput.AlignVCenter
// Focus the search bar by default
Qt.callLater(() => {
searchInput.forceActiveFocus()
})
}
onActiveFocusChanged: contentItem.cursorColor = Colors.mOnSurface
onActiveFocusChanged: contentItem.cursorColor = Color.mOnSurface
Keys.onDownPressed: selectNext()
Keys.onUpPressed: selectPrev()
@ -372,9 +372,9 @@ NLoader {
height: 65 * scaling
radius: Style.radiusMedium * scaling
property bool isSelected: index === selectedIndex
color: (appCardArea.containsMouse || isSelected) ? Qt.darker(Colors.mPrimary,
1.1) : Colors.mSurface
border.color: (appCardArea.containsMouse || isSelected) ? Colors.mPrimary : "transparent"
color: (appCardArea.containsMouse || isSelected) ? Qt.darker(Color.mPrimary,
1.1) : Color.mSurface
border.color: (appCardArea.containsMouse || isSelected) ? Color.mPrimary : "transparent"
border.width: Math.max(1, (appCardArea.containsMouse
|| isSelected) ? Style.borderMedium * scaling : 0)
@ -406,8 +406,8 @@ NLoader {
Layout.preferredWidth: Style.baseWidgetSize * 1.25 * scaling
Layout.preferredHeight: Style.baseWidgetSize * 1.25 * scaling
radius: Style.radiusSmall * scaling
color: appCardArea.containsMouse ? Qt.darker(Colors.mPrimary,
1.1) : Colors.mSurfaceVariant
color: appCardArea.containsMouse ? Qt.darker(Color.mPrimary,
1.1) : Color.mSurfaceVariant
property bool iconLoaded: (modelData.isCalculator || modelData.isClipboard
|| modelData.isCommand) || (iconImg.status === Image.Ready
&& iconImg.source !== ""
@ -442,7 +442,7 @@ NLoader {
anchors.fill: parent
anchors.margins: Style.marginTiny * scaling
radius: Style.radiusTiny * scaling
color: Colors.mPrimary
color: Color.mPrimary
opacity: Style.opacityMedium
visible: !parent.iconLoaded
}
@ -454,7 +454,7 @@ NLoader {
text: modelData.name ? modelData.name.charAt(0).toUpperCase() : "?"
font.pointSize: Style.fontSizeXL * scaling
font.weight: Font.Bold
color: Colors.mPrimary
color: Color.mPrimary
}
Behavior on color {
@ -473,7 +473,7 @@ NLoader {
text: modelData.name || "Unknown"
font.pointSize: Style.fontSizeLarge * scaling
font.weight: Font.Bold
color: Colors.mOnSurface
color: Color.mOnSurface
elide: Text.ElideRight
Layout.fillWidth: true
}
@ -481,8 +481,7 @@ NLoader {
NText {
text: modelData.isCalculator ? (modelData.expr + " = " + modelData.result) : modelData.isClipboard ? modelData.content : modelData.isCommand ? modelData.content : (modelData.genericName || modelData.comment || "")
font.pointSize: Style.fontSizeMedium * scaling
color: (appCardArea.containsMouse
|| isSelected) ? Colors.mOnSurface : Colors.mOnSurface
color: (appCardArea.containsMouse || isSelected) ? Color.mOnSurface : Color.mOnSurface
elide: Text.ElideRight
Layout.fillWidth: true
visible: text !== ""
@ -509,7 +508,7 @@ NLoader {
NText {
text: searchText.trim() !== "" ? "No applications found" : "No applications available"
font.pointSize: Style.fontSizeLarge * scaling
color: Colors.mOnSurface
color: Color.mOnSurface
horizontalAlignment: Text.AlignHCenter
Layout.fillWidth: true
visible: filteredEntries.length === 0
@ -523,7 +522,7 @@ NLoader {
">calc") ? `${filteredEntries.length} result${filteredEntries.length
!== 1 ? 's' : ''}` : `${filteredEntries.length} application${filteredEntries.length !== 1 ? 's' : ''}`
font.pointSize: Style.fontSizeSmall * scaling
color: Colors.mOnSurface
color: Color.mOnSurface
horizontalAlignment: Text.AlignHCenter
Layout.fillWidth: true
visible: searchText.trim() !== ""

View file

@ -7,8 +7,8 @@ Item {
id: root
property int innerRadius: 32 * scaling
property int outerRadius: 64 * scaling
property color fillColor: Colors.mPrimary
property color strokeColor: Colors.mOnSurface
property color fillColor: Color.mPrimary
property color strokeColor: Color.mOnSurface
property int strokeWidth: 0 * scaling
property var values: []
property int usableOuter: 64

View file

@ -4,8 +4,8 @@ import qs.Services
Item {
id: root
property color fillColor: Colors.mPrimary
property color strokeColor: Colors.mOnSurface
property color fillColor: Color.mPrimary
property color strokeColor: Color.mOnSurface
property int strokeWidth: 0
property var values: []

View file

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

View file

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

View file

@ -1,5 +1,6 @@
import QtQuick
import QtQuick.Controls
import QtQuick.Layouts
import Quickshell
import qs.Commons
import qs.Services
@ -39,57 +40,68 @@ Row {
}
}
// Window icon
NText {
id: windowIcon
text: "desktop_windows"
font.family: "Material Symbols Outlined"
font.pointSize: Style.fontSizeLarge * scaling
verticalAlignment: Text.AlignVCenter
anchors.verticalCenter: parent.verticalCenter
color: Colors.mPrimary
visible: getDisplayText() !== ""
}
// Window title container
Item {
id: titleContainer
width: titleText.width
height: titleText.height
Rectangle {
width: row.width + Style.marginSmall * scaling * 2
height: row.height
color: Color.mSurfaceVariant
radius: Style.radiusSmall * scaling
anchors.verticalCenter: parent.verticalCenter
Behavior on width {
NumberAnimation {
duration: Style.animationNormal
easing.type: Easing.OutCubic
}
}
NText {
id: titleText
text: getDisplayText()
font.pointSize: Style.fontSizeSmall * scaling
font.weight: Style.fontWeightBold
elide: Text.ElideRight
anchors.verticalCenter: parent.verticalCenter
verticalAlignment: Text.AlignVCenter
}
// Mouse area for hover detection
MouseArea {
id: titleContainerMouseArea
Item {
id: mainContainer
anchors.fill: parent
hoverEnabled: true
cursorShape: Qt.IBeamCursor
onEntered: {
titleText.text = getDisplayText()
anchors.leftMargin: Style.marginSmall * scaling
anchors.rightMargin: Style.marginSmall * scaling
Row {
id: row
anchors.verticalCenter: parent.verticalCenter
spacing: Style.marginTiny * scaling
// Window icon
NText {
id: windowIcon
text: "dialogs"
font.family: "Material Symbols Outlined"
font.pointSize: Style.fontSizeLarge * scaling
verticalAlignment: Text.AlignVCenter
anchors.verticalCenter: parent.verticalCenter
visible: getDisplayText() !== ""
}
NText {
id: titleText
width: (showingFullTitle || mouseArea.containsMouse) ? 300 * scaling : 100 * scaling
text: getDisplayText()
font.pointSize: Style.fontSizeReduced * scaling
font.weight: Style.fontWeightBold
elide: Text.ElideRight
anchors.verticalCenter: parent.verticalCenter
verticalAlignment: Text.AlignVCenter
color: Color.mTertiary
Behavior on width {
NumberAnimation {
duration: Style.animationSlow
easing.type: Easing.OutBack
}
}
}
}
onExited: {
titleText.text = getDisplayText()
// Mouse area for hover detection
MouseArea {
id: mouseArea
anchors.fill: parent
hoverEnabled: true
cursorShape: Qt.IBeamCursor
onEntered: {
titleText.text = getDisplayText()
}
onExited: {
titleText.text = getDisplayText()
}
}
}
}
function getDisplayText() {
// Check if Niri service is available
if (typeof NiriService === "undefined") {
@ -117,27 +129,29 @@ Row {
const programName = title.split(/[\s\-_]/)[0]
if (programName.length <= 2 || programName === title) {
return truncateTitle(title)
return title
}
if (showingFullTitle || titleContainerMouseArea.containsMouse || isGenericName(programName)) {
return truncateTitle(title)
if (isGenericName(programName)) {
return title
}
return programName
}
// Use appId for program name, show full title on hover or window switch
if (showingFullTitle || titleContainerMouseArea.containsMouse) {
return truncateTitle(title || appId)
}
return title
return appId
// // Use appId for program name, show full title on hover or window switch
// if (showingFullTitle || mouseArea.containsMouse) {
// return truncateTitle(title || appId, 50)
// } else {
// return truncateTitle(title || appId, 20)
// }
}
function truncateTitle(title) {
if (title.length > 50) {
return title.substring(0, 47) + "..."
function truncateTitle(title, length) {
if (title.length > length) {
return title.substring(0, length - 3) + "..."
}
return title
}

View file

@ -39,7 +39,7 @@ Variants {
id: bar
anchors.fill: parent
color: Colors.mSurface
color: Color.mSurface
layer.enabled: true
}
@ -55,9 +55,9 @@ Variants {
SystemMonitor {}
MediaMini {}
ActiveWindow {}
MediaMini {}
}
// Center

View file

@ -52,10 +52,10 @@ NPill {
icon: root.batteryIcon()
text: Math.round(root.percent) + "%"
pillColor: Colors.mSurfaceVariant
iconCircleColor: Colors.mPrimary
iconTextColor: Colors.mSurface
textColor: charging ? Colors.mPrimary : Colors.mOnSurface
pillColor: Color.mSurfaceVariant
iconCircleColor: Color.mPrimary
iconTextColor: Color.mSurface
textColor: charging ? Color.mPrimary : Color.mOnSurface
tooltipText: {
let lines = []

View file

@ -63,9 +63,9 @@ NLoader {
Rectangle {
id: bluetoothMenuRect
color: Colors.mSurface
color: Color.mSurface
radius: Style.radiusLarge * scaling
border.color: Colors.mOutlineVariant
border.color: Color.mOutlineVariant
border.width: Math.max(1, Style.borderThin * scaling)
width: 340 * scaling
height: 500 * scaling
@ -115,14 +115,14 @@ NLoader {
text: "bluetooth"
font.family: "Material Symbols Outlined"
font.pointSize: Style.fontSizeXL * scaling
color: Colors.mPrimary
color: Color.mPrimary
}
NText {
text: "Bluetooth"
font.pointSize: Style.fontSizeLarge * scaling
font.bold: true
color: Colors.mOnSurface
color: Color.mOnSurface
Layout.fillWidth: true
}
@ -160,7 +160,7 @@ NLoader {
NBusyIndicator {
running: BluetoothService.isDiscovering
color: Colors.mPrimary
color: Color.mPrimary
size: Style.baseWidgetSize * scaling
Layout.alignment: Qt.AlignHCenter
}
@ -168,7 +168,7 @@ NLoader {
NText {
text: "Scanning for devices..."
font.pointSize: Style.fontSizeNormal * scaling
color: Colors.mOnSurfaceVariant
color: Color.mOnSurfaceVariant
Layout.alignment: Qt.AlignHCenter
}
}
@ -183,21 +183,21 @@ NLoader {
text: "bluetooth_disabled"
font.family: "Material Symbols Outlined"
font.pointSize: Style.fontSizeXXL * scaling
color: Colors.mOnSurfaceVariant
color: Color.mOnSurfaceVariant
Layout.alignment: Qt.AlignHCenter
}
NText {
text: "Bluetooth is disabled"
font.pointSize: Style.fontSizeLarge * scaling
color: Colors.mOnSurfaceVariant
color: Color.mOnSurfaceVariant
Layout.alignment: Qt.AlignHCenter
}
NText {
text: "Enable Bluetooth to see available devices"
font.pointSize: Style.fontSizeNormal * scaling
color: Colors.mOnSurfaceVariant
color: Color.mOnSurfaceVariant
Layout.alignment: Qt.AlignHCenter
}
}
@ -271,7 +271,7 @@ NLoader {
Rectangle {
anchors.fill: parent
radius: Style.radiusMedium * scaling
color: modelData.device.connected ? Colors.mPrimary : (deviceMouseArea.containsMouse ? Colors.mTertiary : "transparent")
color: modelData.device.connected ? Color.mPrimary : (deviceMouseArea.containsMouse ? Color.mTertiary : "transparent")
RowLayout {
anchors.fill: parent
@ -282,7 +282,7 @@ NLoader {
text: BluetoothService.getDeviceIcon(modelData.device)
font.family: "Material Symbols Outlined"
font.pointSize: Style.fontSizeXL * scaling
color: modelData.device.connected ? Colors.mSurface : (deviceMouseArea.containsMouse ? Colors.mSurface : Colors.mOnSurface)
color: modelData.device.connected ? Color.mSurface : (deviceMouseArea.containsMouse ? Color.mSurface : Color.mOnSurface)
}
ColumnLayout {
@ -294,7 +294,7 @@ NLoader {
font.pointSize: Style.fontSizeNormal * scaling
elide: Text.ElideRight
Layout.fillWidth: true
color: modelData.device.connected ? Colors.mSurface : (deviceMouseArea.containsMouse ? Colors.mSurface : Colors.mOnSurface)
color: modelData.device.connected ? Color.mSurface : (deviceMouseArea.containsMouse ? Color.mSurface : Color.mOnSurface)
}
NText {
@ -308,13 +308,13 @@ NLoader {
}
}
font.pointSize: Style.fontSizeSmall * scaling
color: modelData.device.connected ? Colors.mSurface : (deviceMouseArea.containsMouse ? Colors.mSurface : Colors.mOnSurfaceVariant)
color: modelData.device.connected ? Color.mSurface : (deviceMouseArea.containsMouse ? Color.mSurface : Color.mOnSurfaceVariant)
}
NText {
text: BluetoothService.getBatteryText(modelData.device)
font.pointSize: Style.fontSizeSmall * scaling
color: modelData.device.connected ? Colors.mSurface : (deviceMouseArea.containsMouse ? Colors.mSurface : Colors.mOnSurfaceVariant)
color: modelData.device.connected ? Color.mSurface : (deviceMouseArea.containsMouse ? Color.mSurface : Color.mOnSurfaceVariant)
visible: modelData.device.batteryAvailable
}
}
@ -327,7 +327,7 @@ NLoader {
NBusyIndicator {
visible: modelData.device.pairing || modelData.device.state === 2
running: modelData.device.pairing || modelData.device.state === 2
color: Colors.mPrimary
color: Color.mPrimary
anchors.centerIn: parent
size: Style.baseWidgetSize * 0.7 * scaling
}
@ -337,7 +337,7 @@ NLoader {
visible: modelData.device.connected
text: "connected"
font.pointSize: Style.fontSizeSmall * scaling
color: modelData.device.connected ? Colors.mSurface : (deviceMouseArea.containsMouse ? Colors.mSurface : Colors.mOnSurface)
color: modelData.device.connected ? Color.mSurface : (deviceMouseArea.containsMouse ? Color.mSurface : Color.mOnSurface)
}
}
@ -370,21 +370,21 @@ NLoader {
text: "bluetooth_disabled"
font.family: "Material Symbols Outlined"
font.pointSize: Style.fontSizeXXL * scaling
color: Colors.mOnSurfaceVariant
color: Color.mOnSurfaceVariant
Layout.alignment: Qt.AlignHCenter
}
NText {
text: "No Bluetooth devices"
font.pointSize: Style.fontSizeLarge * scaling
color: Colors.mOnSurfaceVariant
color: Color.mOnSurfaceVariant
Layout.alignment: Qt.AlignHCenter
}
NText {
text: "Click the refresh button to discover devices"
font.pointSize: Style.fontSizeNormal * scaling
color: Colors.mOnSurfaceVariant
color: Color.mOnSurfaceVariant
Layout.alignment: Qt.AlignHCenter
}
}

View file

@ -10,7 +10,7 @@ Item {
width: pill.width
height: pill.height
visible: !Settings.data.bar.hideBrightness
visible: Settings.data.bar.showBrightness
// Used to avoid opening the pill on Quickshell startup
property bool firstBrightnessReceived: false
@ -49,8 +49,8 @@ Item {
NPill {
id: pill
icon: getIcon()
iconCircleColor: Colors.mPrimary
collapsedIconColor: Colors.mOnSurface
iconCircleColor: Color.mPrimary
collapsedIconColor: Color.mOnSurface
autoHide: false // Important to be false so we can hover as long as we want
text: Math.round(BrightnessService.brightness) + "%"
tooltipText: "Brightness: " + Math.round(

View file

@ -28,7 +28,6 @@ Item {
font.family: "Material Symbols Outlined"
font.pointSize: Style.fontSizeLarge * scaling
verticalAlignment: Text.AlignVCenter
color: Colors.mPrimary
MouseArea {
id: titleContainerMouseArea
@ -43,11 +42,10 @@ Item {
// Track info
NText {
text: MediaService.trackTitle + (MediaService.trackArtist !== "" ? ` - {MediaService.trackArtist}` : "")
color: Colors.mOnSurface
font.pointSize: Style.fontSizeSmall * scaling
font.pointSize: Style.fontSizeReduced * scaling
font.weight: Style.fontWeightBold
elide: Text.ElideRight
color: Color.mSecondary
verticalAlignment: Text.AlignVCenter
Layout.maximumWidth: 200 * scaling
Layout.alignment: Qt.AlignVCenter

View file

@ -10,6 +10,7 @@ import qs.Widgets
NIconButton {
id: root
visible: Settings.data.bar.showNotificationsHistory
sizeMultiplier: 0.8
showBorder: false
icon: "notifications"

View file

@ -24,16 +24,16 @@ Row {
font.pointSize: Style.fontSizeLarge * scaling
verticalAlignment: Text.AlignVCenter
anchors.verticalCenter: parent.verticalCenter
color: Colors.mPrimary
}
NText {
id: cpuUsageText
text: `${SystemStatsService.cpuUsage}%`
font.pointSize: Style.fontSizeSmall * scaling
font.pointSize: Style.fontSizeReduced * scaling
font.weight: Style.fontWeightBold
anchors.verticalCenter: parent.verticalCenter
verticalAlignment: Text.AlignVCenter
color: Color.mPrimary
}
}
@ -46,17 +46,18 @@ Row {
text: "thermometer"
font.family: "Material Symbols Outlined"
font.pointSize: Style.fontSizeLarge * scaling
color: Colors.mPrimary
verticalAlignment: Text.AlignVCenter
anchors.verticalCenter: parent.verticalCenter
}
NText {
text: `${SystemStatsService.cpuTemp}°C`
font.pointSize: Style.fontSizeSmall * scaling
font.pointSize: Style.fontSizeReduced * scaling
font.weight: Style.fontWeightBold
anchors.verticalCenter: parent.verticalCenter
verticalAlignment: Text.AlignVCenter
color: Color.mPrimary
}
}
@ -69,17 +70,17 @@ Row {
text: "memory"
font.family: "Material Symbols Outlined"
font.pointSize: Style.fontSizeLarge * scaling
color: Colors.mPrimary
verticalAlignment: Text.AlignVCenter
anchors.verticalCenter: parent.verticalCenter
}
NText {
text: `${SystemStatsService.memoryUsageGb}G`
font.pointSize: Style.fontSizeSmall * scaling
font.pointSize: Style.fontSizeReduced * scaling
font.weight: Style.fontWeightBold
anchors.verticalCenter: parent.verticalCenter
verticalAlignment: Text.AlignVCenter
color: Color.mPrimary
}
}
}

View file

@ -12,6 +12,7 @@ import qs.Widgets
Item {
readonly property real itemSize: 24 * scaling
visible: Settings.data.bar.showTray
width: tray.width
height: itemSize

View file

@ -73,8 +73,8 @@ PopupWindow {
Rectangle {
id: bg
anchors.fill: parent
color: Colors.mSurface
border.color: Colors.mOutline
color: Color.mSurface
border.color: Color.mOutline
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.mTertiary : "transparent"
color: mouseArea.containsMouse ? Color.mTertiary : "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.mOnTertiary : Colors.mOnSurface) : Colors.textDisabled
?? true) ? (mouseArea.containsMouse ? Color.mOnTertiary : Color.mOnSurface) : Color.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.mOnSurface
color: Color.mOnSurface
}
}
@ -308,8 +308,8 @@ PopupWindow {
Rectangle {
id: bg
anchors.fill: parent
color: Colors.mSurface
border.color: Colors.mOutline
color: Color.mSurface
border.color: Color.mOutline
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.mTertiary : "transparent"
color: mouseArea.containsMouse ? Color.mTertiary : "transparent"
radius: Style.radiusSmall * scaling
visible: !(modelData?.isSeparator ?? false)
property color hoverTextColor: mouseArea.containsMouse ? Colors.mOnSurface : Colors.mOnSurface
property color hoverTextColor: mouseArea.containsMouse ? Color.mOnSurface : Color.mOnSurface
RowLayout {
anchors.fill: parent
@ -361,7 +361,7 @@ PopupWindow {
NText {
id: subText
Layout.fillWidth: true
color: (modelData?.enabled ?? true) ? bg.hoverTextColor : Colors.textDisabled
color: (modelData?.enabled ?? true) ? bg.hoverTextColor : Color.textDisabled
text: modelData?.text ?? ""
font.pointSize: Style.fontSizeSmall * scaling
verticalAlignment: Text.AlignVCenter

View file

@ -49,8 +49,8 @@ Item {
NPill {
id: pill
icon: getIcon()
iconCircleColor: Colors.mPrimary
collapsedIconColor: Colors.mOnSurface
iconCircleColor: Color.mPrimary
collapsedIconColor: Color.mOnSurface
autoHide: false // Important to be false so we can hover as long as we want
text: Math.floor(AudioService.volume * 100) + "%"
tooltipText: "Volume: " + Math.round(

View file

@ -82,9 +82,9 @@ NLoader {
Rectangle {
id: wifiMenuRect
color: Colors.mSurface
color: Color.mSurface
radius: Style.radiusLarge * scaling
border.color: Colors.mOutlineVariant
border.color: Color.mOutlineVariant
border.width: Math.max(1, Style.borderThin * scaling)
width: 340 * scaling
height: 500 * scaling
@ -134,14 +134,14 @@ NLoader {
text: "wifi"
font.family: "Material Symbols Outlined"
font.pointSize: Style.fontSizeXL * scaling
color: Colors.mPrimary
color: Color.mPrimary
}
NText {
text: "WiFi"
font.pointSize: Style.fontSizeLarge * scaling
font.bold: true
color: Colors.mOnSurface
color: Color.mOnSurface
Layout.fillWidth: true
}
@ -179,7 +179,7 @@ NLoader {
NBusyIndicator {
running: NetworkService.isLoading
color: Colors.mPrimary
color: Color.mPrimary
size: Style.baseWidgetSize * scaling
Layout.alignment: Qt.AlignHCenter
}
@ -187,7 +187,7 @@ NLoader {
NText {
text: "Scanning for networks..."
font.pointSize: Style.fontSizeNormal * scaling
color: Colors.mOnSurfaceVariant
color: Color.mOnSurfaceVariant
Layout.alignment: Qt.AlignHCenter
}
}
@ -202,21 +202,21 @@ NLoader {
text: "wifi_off"
font.family: "Material Symbols Outlined"
font.pointSize: Style.fontSizeXXL * scaling
color: Colors.mOnSurfaceVariant
color: Color.mOnSurfaceVariant
Layout.alignment: Qt.AlignHCenter
}
NText {
text: "WiFi is disabled"
font.pointSize: Style.fontSizeLarge * scaling
color: Colors.mOnSurfaceVariant
color: Color.mOnSurfaceVariant
Layout.alignment: Qt.AlignHCenter
}
NText {
text: "Enable WiFi to see available networks"
font.pointSize: Style.fontSizeNormal * scaling
color: Colors.mOnSurfaceVariant
color: Color.mOnSurfaceVariant
Layout.alignment: Qt.AlignHCenter
}
}
@ -243,7 +243,7 @@ NLoader {
Layout.fillWidth: true
Layout.preferredHeight: Style.baseWidgetSize * 1.5 * scaling
radius: Style.radiusMedium * scaling
color: modelData.connected ? Colors.mPrimary : (networkMouseArea.containsMouse ? Colors.mTertiary : "transparent")
color: modelData.connected ? Color.mPrimary : (networkMouseArea.containsMouse ? Color.mTertiary : "transparent")
RowLayout {
anchors.fill: parent
@ -254,7 +254,7 @@ NLoader {
text: NetworkService.signalIcon(modelData.signal)
font.family: "Material Symbols Outlined"
font.pointSize: Style.fontSizeXL * scaling
color: modelData.connected ? Colors.mSurface : (networkMouseArea.containsMouse ? Colors.mSurface : Colors.mOnSurface)
color: modelData.connected ? Color.mSurface : (networkMouseArea.containsMouse ? Color.mSurface : Color.mOnSurface)
}
ColumnLayout {
@ -267,7 +267,7 @@ NLoader {
font.pointSize: Style.fontSizeNormal * scaling
elide: Text.ElideRight
Layout.fillWidth: true
color: modelData.connected ? Colors.mSurface : (networkMouseArea.containsMouse ? Colors.mSurface : Colors.mOnSurface)
color: modelData.connected ? Color.mSurface : (networkMouseArea.containsMouse ? Color.mSurface : Color.mOnSurface)
}
// Security Protocol
@ -276,14 +276,14 @@ NLoader {
font.pointSize: Style.fontSizeTiny * scaling
elide: Text.ElideRight
Layout.fillWidth: true
color: modelData.connected ? Colors.mSurface : (networkMouseArea.containsMouse ? Colors.mSurface : Colors.mOnSurface)
color: modelData.connected ? Color.mSurface : (networkMouseArea.containsMouse ? Color.mSurface : Color.mOnSurface)
}
NText {
visible: NetworkService.connectStatusSsid === modelData.ssid
&& NetworkService.connectStatus === "error" && NetworkService.connectError.length > 0
text: NetworkService.connectError
color: Colors.mError
color: Color.mError
font.pointSize: Style.fontSizeSmall * scaling
elide: Text.ElideRight
Layout.fillWidth: true
@ -300,7 +300,7 @@ NLoader {
NBusyIndicator {
visible: NetworkService.connectingSsid === modelData.ssid
running: NetworkService.connectingSsid === modelData.ssid
color: Colors.mPrimary
color: Color.mPrimary
anchors.centerIn: parent
size: Style.baseWidgetSize * 0.7 * scaling
}
@ -321,7 +321,7 @@ NLoader {
text: "error"
font.family: "Material Symbols Outlined"
font.pointSize: Style.fontSizeSmall * scaling
color: Colors.mError
color: Color.mError
anchors.centerIn: parent
}
}
@ -330,7 +330,7 @@ NLoader {
visible: modelData.connected
text: "connected"
font.pointSize: Style.fontSizeSmall * scaling
color: modelData.connected ? Colors.mSurface : (networkMouseArea.containsMouse ? Colors.mSurface : Colors.mOnSurface)
color: modelData.connected ? Color.mSurface : (networkMouseArea.containsMouse ? Color.mSurface : Color.mOnSurface)
}
}
@ -362,7 +362,7 @@ NLoader {
Layout.preferredHeight: modelData.ssid === passwordPromptSsid && showPasswordPrompt ? 60 : 0
Layout.margins: Style.marginSmall * scaling
visible: modelData.ssid === passwordPromptSsid && showPasswordPrompt
color: Colors.mSurfaceVariant
color: Color.mSurfaceVariant
radius: Style.radiusSmall * scaling
RowLayout {
@ -378,7 +378,7 @@ NLoader {
anchors.fill: parent
radius: Style.radiusTiny * scaling
color: "transparent"
border.color: passwordInputField.activeFocus ? Colors.mPrimary : Colors.mOutline
border.color: passwordInputField.activeFocus ? Color.mPrimary : Color.mOutline
border.width: Math.max(1, Style.borderThin * scaling)
TextInput {
@ -387,7 +387,7 @@ NLoader {
anchors.margins: Style.marginMedium * scaling
text: passwordInput
font.pointSize: Style.fontSizeMedium * scaling
color: Colors.mOnSurface
color: Color.mOnSurface
verticalAlignment: TextInput.AlignVCenter
clip: true
focus: true
@ -414,7 +414,7 @@ NLoader {
Layout.preferredWidth: Style.baseWidgetSize * 2.5 * scaling
Layout.preferredHeight: Style.barHeight * scaling
radius: Style.radiusMedium * scaling
color: Colors.mPrimary
color: Color.mPrimary
Behavior on color {
ColorAnimation {
@ -425,7 +425,7 @@ NLoader {
NText {
anchors.centerIn: parent
text: "Connect"
color: Colors.mSurface
color: Color.mSurface
font.pointSize: Style.fontSizeSmall * scaling
}
@ -437,8 +437,8 @@ NLoader {
}
cursorShape: Qt.PointingHandCursor
hoverEnabled: true
onEntered: parent.color = Qt.darker(Colors.mPrimary, 1.1)
onExited: parent.color = Colors.mPrimary
onEntered: parent.color = Qt.darker(Color.mPrimary, 1.1)
onExited: parent.color = Color.mPrimary
}
}
}

View file

@ -16,7 +16,7 @@ Item {
property ListModel localWorkspaces: ListModel {}
property real masterProgress: 0.0
property bool effectsActive: false
property color effectColor: Colors.mPrimary
property color effectColor: Color.mPrimary
property int horizontalPadding: Math.round(16 * scaling)
property int spacingBetweenPills: Math.round(8 * scaling)
@ -70,7 +70,7 @@ Item {
}
function triggerUnifiedWave() {
effectColor = Colors.mPrimary
effectColor = Color.mPrimary
masterAnimation.restart()
}
@ -106,7 +106,7 @@ Item {
const ws = localWorkspaces.get(i)
if (ws.isFocused === true) {
root.triggerUnifiedWave()
root.workspaceChanged(ws.id, Colors.mPrimary)
root.workspaceChanged(ws.id, Color.mPrimary)
break
}
}
@ -119,12 +119,12 @@ Item {
anchors.horizontalCenter: parent.horizontalCenter
anchors.verticalCenter: parent.verticalCenter
radius: Math.round(12 * scaling)
color: Colors.mSurfaceVariant
border.color: Colors.mOutlineVariant
color: Color.mSurfaceVariant
border.color: Color.mOutlineVariant
border.width: Math.max(1, Math.round(1 * scaling))
layer.enabled: true
layer.effect: MultiEffect {
shadowColor: Colors.mShadow
shadowColor: Color.mShadow
shadowVerticalOffset: 0
shadowHorizontalOffset: 0
shadowOpacity: 0.10
@ -164,15 +164,15 @@ Item {
}
color: {
if (model.isFocused)
return Colors.mPrimary
return Color.mPrimary
if (model.isUrgent)
return Colors.mError
return Color.mError
if (model.isActive || model.isOccupied)
return Colors.mSecondary
return Color.mSecondary
if (model.isUrgent)
return Colors.mError
return Color.mError
return Colors.mOutline
return Color.mOutline
}
scale: model.isFocused ? 1.0 : 0.9
z: 0

View file

@ -62,9 +62,9 @@ NLoader {
Rectangle {
id: calendarRect
color: Colors.mSurface
color: Color.mSurface
radius: Style.radiusMedium * scaling
border.color: Colors.mOutline
border.color: Color.mOutline
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.mPrimary
color: Color.mPrimary
}
NIconButton {
@ -173,7 +173,7 @@ NLoader {
let dayIndex = (firstDay + index) % 7
return Qt.locale().dayName(dayIndex, Locale.ShortFormat)
}
color: Colors.mSecondary
color: Color.mSecondary
font.pointSize: Style.fontSizeMedium * scaling
font.weight: Style.fontWeightBold
horizontalAlignment: Text.AlignHCenter
@ -211,12 +211,12 @@ NLoader {
width: (Style.baseWidgetSize * scaling)
height: (Style.baseWidgetSize * scaling)
radius: Style.radiusSmall * scaling
color: model.today ? Colors.mPrimary : "transparent"
color: model.today ? Color.mPrimary : "transparent"
NText {
anchors.centerIn: parent
text: model.day
color: model.today ? Colors.onAccent : Colors.mOnSurface
color: model.today ? Color.onAccent : Color.mOnSurface
opacity: model.month === grid.month ? Style.opacityHeavy : Style.opacityLight
font.pointSize: (Style.fontSizeMedium * scaling)
font.weight: model.today ? Style.fontWeightBold : Style.fontWeightRegular

View file

@ -67,9 +67,9 @@ NLoader {
Rectangle {
id: bgRect
color: Colors.mSurfaceVariant
color: Color.mSurfaceVariant
radius: Style.radiusMedium * scaling
border.color: Colors.mOutlineVariant
border.color: Color.mOutlineVariant
border.width: Math.max(1, Style.borderThin * scaling)
width: 500 * scaling
height: 900 * scaling
@ -114,7 +114,7 @@ NLoader {
NText {
text: "DemoPanel"
color: Colors.mPrimary
color: Color.mPrimary
font.pointSize: Style.fontSizeXL * scaling
font.weight: Style.fontWeightBold
Layout.alignment: Qt.AlignHCenter
@ -129,7 +129,7 @@ NLoader {
spacing: Style.marginLarge * scaling
NText {
text: "Scaling"
color: Colors.mSecondary
color: Color.mSecondary
font.weight: Style.fontWeightBold
}
NText {
@ -173,7 +173,7 @@ NLoader {
spacing: Style.marginLarge * scaling
NText {
text: "NIconButton"
color: Colors.mSecondary
color: Color.mSecondary
font.weight: Style.fontWeightBold
}
@ -194,7 +194,7 @@ NLoader {
spacing: Style.marginMedium * scaling
NText {
text: "NToggle"
color: Colors.mSecondary
color: Color.mSecondary
font.weight: Style.fontWeightBold
}
@ -216,7 +216,7 @@ NLoader {
spacing: Style.marginMedium * scaling
NText {
text: "NComboBox"
color: Colors.mSecondary
color: Color.mSecondary
font.weight: Style.fontWeightBold
}
@ -269,7 +269,7 @@ NLoader {
spacing: Style.marginMedium * scaling
NText {
text: "NTextInput"
color: Colors.mSecondary
color: Color.mSecondary
font.weight: Style.fontWeightBold
}
@ -292,7 +292,7 @@ NLoader {
spacing: Style.marginMedium * scaling
NText {
text: "NBusyIndicator"
color: Colors.mSecondary
color: Color.mSecondary
font.weight: Style.fontWeightBold
}
@ -308,7 +308,7 @@ NLoader {
spacing: Style.marginMedium * scaling
NText {
text: "Brightness Control"
color: Colors.mSecondary
color: Color.mSecondary
font.weight: Style.fontWeightBold
}
@ -349,7 +349,7 @@ NLoader {
NText {
text: `Method: ${BrightnessService.currentMethod} | Available: ${BrightnessService.available}`
color: Colors.mOnSurfaceVariant
color: Color.mOnSurfaceVariant
font.pointSize: Style.fontSizeSmall * scaling
Layout.alignment: Qt.AlignHCenter
}

View file

@ -115,7 +115,7 @@ NLoader {
id: dockContainer
width: dock.width + 48 * scaling
height: iconSize * 1.4 * scaling
color: Colors.mSurface
color: Color.mSurface
anchors.horizontalCenter: parent.horizontalCenter
anchors.bottom: parent.bottom
topLeftRadius: Style.radiusLarge * scaling
@ -194,7 +194,7 @@ NLoader {
Rectangle {
id: hoverBackground
anchors.fill: parent
color: appButton.hovered ? Colors.mSurfaceVariant : "transparent"
color: appButton.hovered ? Color.mSurfaceVariant : "transparent"
radius: parent.radius
opacity: appButton.hovered ? 0.8 : 0
@ -236,7 +236,7 @@ NLoader {
text: "question_mark"
font.family: "Material Symbols Rounded"
font.pointSize: iconSize * 0.7 * scaling
color: appButton.isActive ? Colors.mPrimary : Colors.mOnSurfaceVariant
color: appButton.isActive ? Color.mPrimary : Color.mOnSurfaceVariant
scale: appButton.hovered ? 1.1 : 1.0
@ -291,7 +291,7 @@ NLoader {
visible: isActive
width: iconSize * 0.75
height: 4 * scaling
color: Colors.mPrimary
color: Color.mPrimary
radius: Style.radiusTiny
anchors.top: parent.bottom
anchors.horizontalCenter: parent.horizontalCenter

View file

@ -142,7 +142,7 @@ WlSessionLock {
width: Math.random() * 4 + 2
height: width
radius: width * 0.5
color: Qt.rgba(Colors.mPrimary.r, Colors.mPrimary.g, Colors.mPrimary.b, 0.3)
color: Qt.rgba(Color.mPrimary.r, Color.mPrimary.g, Color.mPrimary.b, 0.3)
x: Math.random() * parent.width
y: Math.random() * parent.height
@ -185,7 +185,7 @@ WlSessionLock {
font.pointSize: Style.fontSizeXXL * 6
font.weight: Font.Bold
font.letterSpacing: -2
color: Colors.mOnSurface
color: Color.mOnSurface
horizontalAlignment: Text.AlignHCenter
SequentialAnimation on scale {
@ -209,7 +209,7 @@ WlSessionLock {
font.family: "Inter"
font.pointSize: Style.fontSizeXL
font.weight: Font.Light
color: Colors.mOnSurface
color: Color.mOnSurface
horizontalAlignment: Text.AlignHCenter
width: timeText.width
}
@ -226,7 +226,7 @@ WlSessionLock {
height: 120 * scaling
radius: width * 0.5
color: "transparent"
border.color: Colors.mPrimary
border.color: Color.mPrimary
border.width: Math.max(1, Style.borderThick * scaling)
anchors.horizontalCenter: parent.horizontalCenter
@ -237,7 +237,7 @@ WlSessionLock {
height: parent.height + 24 * scaling
radius: width * 0.5
color: "transparent"
border.color: Qt.rgba(Colors.mPrimary.r, Colors.mPrimary.g, Colors.mPrimary.b, 0.3)
border.color: Qt.rgba(Color.mPrimary.r, Color.mPrimary.g, Color.mPrimary.b, 0.3)
border.width: Math.max(1, Style.borderMedium * scaling)
z: -1
@ -305,8 +305,8 @@ WlSessionLock {
id: terminalBackground
anchors.fill: parent
radius: Style.radiusMedium * scaling
color: Colors.applyOpacity(Colors.mSurface, "E6")
border.color: Colors.mPrimary
color: Color.applyOpacity(Color.mSurface, "E6")
border.color: Color.mPrimary
border.width: Math.max(1, Style.borderMedium * scaling)
// Scanline effect
@ -315,7 +315,7 @@ WlSessionLock {
Rectangle {
width: parent.width
height: 1
color: Colors.applyOpacity(Colors.mPrimary, "1A")
color: Color.applyOpacity(Color.mPrimary, "1A")
y: index * 10
opacity: Style.opacityMedium
@ -337,7 +337,7 @@ WlSessionLock {
Rectangle {
width: parent.width
height: 40 * scaling
color: Colors.applyOpacity(Colors.mPrimary, "33")
color: Color.applyOpacity(Color.mPrimary, "33")
topLeftRadius: Style.radiusSmall * scaling
topRightRadius: Style.radiusSmall * scaling
@ -348,7 +348,7 @@ WlSessionLock {
Text {
text: "SECURE TERMINAL"
color: Colors.mOnSurface
color: Color.mOnSurface
font.family: "DejaVu Sans Mono"
font.pointSize: Style.fontSizeLarge
font.weight: Font.Bold
@ -374,7 +374,7 @@ WlSessionLock {
Text {
text: "root@noctalia:~$"
color: Colors.mPrimary
color: Color.mPrimary
font.family: "DejaVu Sans Mono"
font.pointSize: Style.fontSizeLarge
font.weight: Font.Bold
@ -383,7 +383,7 @@ WlSessionLock {
Text {
id: welcomeText
text: ""
color: Colors.mOnSurface
color: Color.mOnSurface
font.family: "DejaVu Sans Mono"
font.pointSize: Style.fontSizeLarge
property int currentIndex: 0
@ -412,7 +412,7 @@ WlSessionLock {
Text {
text: "root@noctalia:~$"
color: Colors.mPrimary
color: Color.mPrimary
font.family: "DejaVu Sans Mono"
font.pointSize: Style.fontSizeLarge
font.weight: Font.Bold
@ -420,7 +420,7 @@ WlSessionLock {
Text {
text: "sudo unlock-session"
color: Colors.mOnSurface
color: Color.mOnSurface
font.family: "DejaVu Sans Mono"
font.pointSize: Style.fontSizeLarge
}
@ -433,7 +433,7 @@ WlSessionLock {
visible: false
font.family: "DejaVu Sans Mono"
font.pointSize: Style.fontSizeLarge
color: Colors.mOnSurface
color: Color.mOnSurface
echoMode: TextInput.Password
passwordCharacter: "*"
passwordMaskDelay: 0
@ -460,7 +460,7 @@ WlSessionLock {
Text {
id: asterisksText
text: "*".repeat(passwordInput.text.length)
color: Colors.mOnSurface
color: Color.mOnSurface
font.family: "DejaVu Sans Mono"
font.pointSize: Style.fontSizeLarge
visible: passwordInput.activeFocus
@ -487,7 +487,7 @@ WlSessionLock {
Rectangle {
width: 8 * scaling
height: 20 * scaling
color: Colors.mPrimary
color: Color.mPrimary
visible: passwordInput.activeFocus
anchors.left: asterisksText.right
anchors.leftMargin: Style.marginTiniest * scaling
@ -510,7 +510,7 @@ WlSessionLock {
// Status messages
Text {
text: lock.authenticating ? "Authenticating..." : (lock.errorMessage !== "" ? "Authentication failed." : "")
color: lock.authenticating ? Colors.mPrimary : (lock.errorMessage !== "" ? Colors.mError : "transparent")
color: lock.authenticating ? Color.mPrimary : (lock.errorMessage !== "" ? Color.mError : "transparent")
font.family: "DejaVu Sans Mono"
font.pointSize: Style.fontSizeLarge
Layout.fillWidth: true
@ -534,8 +534,8 @@ WlSessionLock {
width: 120 * scaling
height: 40 * scaling
radius: Style.radiusSmall * scaling
color: executeButtonArea.containsMouse ? Colors.mPrimary : Colors.applyOpacity(Colors.mPrimary, "33")
border.color: Colors.mPrimary
color: executeButtonArea.containsMouse ? Color.mPrimary : Color.applyOpacity(Color.mPrimary, "33")
border.color: Color.mPrimary
border.width: Math.max(1, Style.borderThin * scaling)
enabled: !lock.authenticating
Layout.alignment: Qt.AlignRight
@ -544,7 +544,7 @@ WlSessionLock {
Text {
anchors.centerIn: parent
text: lock.authenticating ? "EXECUTING" : "EXECUTE"
color: executeButtonArea.containsMouse ? Colors.onAccent : Colors.mPrimary
color: executeButtonArea.containsMouse ? Color.onAccent : Color.mPrimary
font.family: "DejaVu Sans Mono"
font.pointSize: Style.fontSizeMedium
font.weight: Font.Bold
@ -598,7 +598,7 @@ WlSessionLock {
anchors.fill: parent
radius: parent.radius
color: "transparent"
border.color: Colors.applyOpacity(Colors.mPrimary, "4D")
border.color: Color.applyOpacity(Color.mPrimary, "4D")
border.width: Math.max(1, Style.borderThin * scaling)
z: -1
@ -634,8 +634,8 @@ WlSessionLock {
width: 64 * scaling
height: 64 * scaling
radius: Style.radiusLarge * scaling
color: Qt.rgba(Colors.mError.r, Colors.mError.g, Colors.mError.b, shutdownArea.containsMouse ? 0.9 : 0.2)
border.color: Colors.mError
color: Qt.rgba(Color.mError.r, Color.mError.g, Color.mError.b, shutdownArea.containsMouse ? 0.9 : 0.2)
border.color: Color.mError
border.width: Math.max(1, Style.borderMedium * scaling)
// Glow effect
@ -645,7 +645,7 @@ WlSessionLock {
height: parent.height + 10 * scaling
radius: width * 0.5
color: "transparent"
border.color: Qt.rgba(Colors.mError.r, Colors.mError.g, Colors.mError.b, 0.3)
border.color: Qt.rgba(Color.mError.r, Color.mError.g, Color.mError.b, 0.3)
border.width: Math.max(1, Style.borderMedium * scaling)
opacity: shutdownArea.containsMouse ? 1 : 0
z: -1
@ -674,7 +674,7 @@ WlSessionLock {
text: "power_settings_new"
font.family: "Material Symbols Outlined"
font.pointSize: Style.fontSizeXXL * scaling
color: shutdownArea.containsMouse ? Colors.onAccent : Colors.mError
color: shutdownArea.containsMouse ? Color.onAccent : Color.mError
}
Behavior on color {
@ -691,8 +691,8 @@ WlSessionLock {
width: 64 * scaling
height: 64 * scaling
radius: Style.radiusLarge * scaling
color: Qt.rgba(Colors.mPrimary.r, Colors.mPrimary.g, Colors.mPrimary.b, rebootArea.containsMouse ? 0.9 : 0.2)
border.color: Colors.mPrimary
color: Qt.rgba(Color.mPrimary.r, Color.mPrimary.g, Color.mPrimary.b, rebootArea.containsMouse ? 0.9 : 0.2)
border.color: Color.mPrimary
border.width: Math.max(1, Style.borderMedium * scaling)
// Glow effect
@ -702,7 +702,7 @@ WlSessionLock {
height: parent.height + 10 * scaling
radius: width * 0.5
color: "transparent"
border.color: Qt.rgba(Colors.mPrimary.r, Colors.mPrimary.g, Colors.mPrimary.b, 0.3)
border.color: Qt.rgba(Color.mPrimary.r, Color.mPrimary.g, Color.mPrimary.b, 0.3)
border.width: Math.max(1, Style.borderMedium * scaling)
opacity: rebootArea.containsMouse ? 1 : 0
z: -1
@ -730,7 +730,7 @@ WlSessionLock {
text: "refresh"
font.family: "Material Symbols Outlined"
font.pointSize: Style.fontSizeXXL * scaling
color: rebootArea.containsMouse ? Colors.onAccent : Colors.mPrimary
color: rebootArea.containsMouse ? Color.onAccent : Color.mPrimary
}
Behavior on color {
@ -747,9 +747,8 @@ WlSessionLock {
width: 64 * scaling
height: 64 * scaling
radius: Style.radiusLarge * scaling
color: Qt.rgba(Colors.mSecondary.r, Colors.mSecondary.g, Colors.mSecondary.b,
logoutArea.containsMouse ? 0.9 : 0.2)
border.color: Colors.mSecondary
color: Qt.rgba(Color.mSecondary.r, Color.mSecondary.g, Color.mSecondary.b, logoutArea.containsMouse ? 0.9 : 0.2)
border.color: Color.mSecondary
border.width: Math.max(1, Style.borderMedium * scaling)
// Glow effect
@ -759,7 +758,7 @@ WlSessionLock {
height: parent.height + 10 * scaling
radius: width * 0.5
color: "transparent"
border.color: Qt.rgba(Colors.mSecondary.r, Colors.mSecondary.g, Colors.mSecondary.b, 0.3)
border.color: Qt.rgba(Color.mSecondary.r, Color.mSecondary.g, Color.mSecondary.b, 0.3)
border.width: Math.max(1, Style.borderMedium * scaling)
opacity: logoutArea.containsMouse ? 1 : 0
z: -1
@ -789,7 +788,7 @@ WlSessionLock {
text: "exit_to_app"
font.family: "Material Symbols Outlined"
font.pointSize: Style.fontSizeXXL * scaling
color: logoutArea.containsMouse ? Colors.onAccent : Colors.mSecondary
color: logoutArea.containsMouse ? Color.onAccent : Color.mSecondary
}
Behavior on color {

View file

@ -71,9 +71,9 @@ Variants {
height: Math.max(80 * scaling, contentColumn.implicitHeight + (Style.marginMedium * 2 * scaling))
clip: true
radius: Style.radiusMedium * scaling
border.color: Colors.mPrimary
border.color: Color.mPrimary
border.width: Math.max(1, Style.borderThin * scaling)
color: Colors.mSurface
color: Color.mSurface
// Animation properties
property real scaleValue: 0.8
@ -141,14 +141,14 @@ Variants {
spacing: Style.marginSmall * scaling
NText {
text: (model.appName || model.desktopEntry) || "Unknown App"
color: Colors.mSecondary
color: Color.mSecondary
font.pointSize: Style.fontSizeSmall * scaling
}
Rectangle {
width: 6 * scaling
height: 6 * scaling
radius: Style.radiusTiny * scaling
color: (model.urgency === NotificationUrgency.Critical) ? Colors.mError : (model.urgency === NotificationUrgency.Low) ? Colors.mOnSurface : Colors.mPrimary
color: (model.urgency === NotificationUrgency.Critical) ? Color.mError : (model.urgency === NotificationUrgency.Low) ? Color.mOnSurface : Color.mPrimary
Layout.alignment: Qt.AlignVCenter
}
Item {
@ -156,7 +156,7 @@ Variants {
}
NText {
text: NotificationService.formatTimestamp(model.timestamp)
color: Colors.mOnSurface
color: Color.mOnSurface
font.pointSize: Style.fontSizeSmall * scaling
}
}
@ -165,7 +165,7 @@ Variants {
text: model.summary || "No summary"
font.pointSize: Style.fontSizeLarge * scaling
font.weight: Style.fontWeightBold
color: Colors.mOnSurface
color: Color.mOnSurface
wrapMode: Text.Wrap
width: 300 * scaling
maximumLineCount: 3
@ -175,7 +175,7 @@ Variants {
NText {
text: model.body || ""
font.pointSize: Style.fontSizeSmall * scaling
color: Colors.mOnSurface
color: Color.mOnSurface
wrapMode: Text.Wrap
width: 300 * scaling
maximumLineCount: 5

View file

@ -66,9 +66,9 @@ NLoader {
Rectangle {
id: notificationRect
color: Colors.mSurface
color: Color.mSurface
radius: Style.radiusLarge * scaling
border.color: Colors.mOutlineVariant
border.color: Color.mOutlineVariant
border.width: Math.max(1, Style.borderThin * scaling)
width: 400 * scaling
height: 500 * scaling
@ -119,14 +119,14 @@ NLoader {
text: "notifications"
font.family: "Material Symbols Outlined"
font.pointSize: Style.fontSizeXL * scaling
color: Colors.mPrimary
color: Color.mPrimary
}
NText {
text: "Notification History"
font.pointSize: Style.fontSizeLarge * scaling
font.bold: true
color: Colors.mOnSurface
color: Color.mOnSurface
Layout.fillWidth: true
}
@ -163,21 +163,21 @@ NLoader {
text: "notifications_off"
font.family: "Material Symbols Outlined"
font.pointSize: Style.fontSizeXXL * scaling
color: Colors.mOnSurfaceVariant
color: Color.mOnSurfaceVariant
Layout.alignment: Qt.AlignHCenter
}
NText {
text: "No notifications"
font.pointSize: Style.fontSizeLarge * scaling
color: Colors.mOnSurfaceVariant
color: Color.mOnSurfaceVariant
Layout.alignment: Qt.AlignHCenter
}
NText {
text: "Notifications will appear here when you receive them"
font.pointSize: Style.fontSizeNormal * scaling
color: Colors.mOnSurfaceVariant
color: Color.mOnSurfaceVariant
Layout.alignment: Qt.AlignHCenter
}
}
@ -197,7 +197,7 @@ NLoader {
width: notificationList ? (notificationList.width - 20) : 380 * scaling
height: Math.max(80, notificationContent.height + 30)
radius: Style.radiusMedium * scaling
color: notificationMouseArea.containsMouse ? Colors.mPrimary : Colors.mSurfaceVariant
color: notificationMouseArea.containsMouse ? Color.mPrimary : Color.mSurfaceVariant
RowLayout {
anchors {
@ -217,7 +217,7 @@ NLoader {
text: (summary || "No summary").substring(0, 100)
font.pointSize: Style.fontSizeMedium * scaling
font.weight: Font.Medium
color: notificationMouseArea.containsMouse ? Colors.mSurface : Colors.mOnSurface
color: notificationMouseArea.containsMouse ? Color.mSurface : Color.mOnSurface
wrapMode: Text.Wrap
width: parent.width - 60
maximumLineCount: 2
@ -227,7 +227,7 @@ NLoader {
NText {
text: (body || "").substring(0, 150)
font.pointSize: Style.fontSizeSmall * scaling
color: notificationMouseArea.containsMouse ? Colors.mSurface : Colors.mOnSurface
color: notificationMouseArea.containsMouse ? Color.mSurface : Color.mOnSurface
wrapMode: Text.Wrap
width: parent.width - 60
maximumLineCount: 3
@ -237,7 +237,7 @@ NLoader {
NText {
text: NotificationService.formatTimestamp(timestamp)
font.pointSize: Style.fontSizeSmall * scaling
color: notificationMouseArea.containsMouse ? Colors.mSurface : Colors.mOnSurface
color: notificationMouseArea.containsMouse ? Color.mSurface : Color.mOnSurface
}
}

View file

@ -199,9 +199,9 @@ NLoader {
Rectangle {
id: bgRect
color: Colors.mSurface
color: Color.mSurface
radius: Style.radiusLarge * scaling
border.color: Colors.mOutlineVariant
border.color: Color.mOutlineVariant
border.width: Math.max(1, Style.borderThin * scaling)
layer.enabled: true
width: Math.max(screen.width * 0.5, 1280) * scaling
@ -247,8 +247,8 @@ NLoader {
id: sidebar
Layout.preferredWidth: Style.sliderWidth * 1.3 * scaling
Layout.fillHeight: true
color: Colors.mSurfaceVariant
border.color: Colors.mOutlineVariant
color: Color.mSurfaceVariant
border.color: Color.mOutlineVariant
border.width: Math.max(1, Style.borderThin * scaling)
radius: Style.radiusMedium * scaling
@ -265,10 +265,10 @@ NLoader {
width: parent.width
height: 32 * scaling
radius: Style.radiusSmall * scaling
color: selected ? Colors.mPrimary : (tabItem.hovering ? Colors.mTertiary : "transparent")
color: selected ? Color.mPrimary : (tabItem.hovering ? Color.mTertiary : "transparent")
readonly property bool selected: index === currentTabIndex
property bool hovering: false
property color tabTextColor: selected ? Colors.mOnPrimary : (tabItem.hovering ? Colors.mOnTertiary : Colors.mOnSurface)
property color tabTextColor: selected ? Color.mOnPrimary : (tabItem.hovering ? Color.mOnTertiary : Color.mOnSurface)
RowLayout {
anchors.fill: parent
anchors.leftMargin: Style.marginSmall * scaling
@ -313,8 +313,8 @@ NLoader {
Layout.fillWidth: true
Layout.fillHeight: true
radius: Style.radiusMedium * scaling
color: Colors.mSurfaceVariant
border.color: Colors.mOutlineVariant
color: Color.mSurfaceVariant
border.color: Color.mOutlineVariant
border.width: Math.max(1, Style.borderThin * scaling)
clip: true
@ -334,7 +334,7 @@ NLoader {
text: panel.tabsModel[currentTabIndex].label
font.pointSize: Style.fontSizeLarge * scaling
font.weight: Style.fontWeightBold
color: Colors.mPrimary
color: Color.mPrimary
Layout.fillWidth: true
}
NIconButton {

View file

@ -60,7 +60,7 @@ ColumnLayout {
text: "Noctalia: quiet by design"
font.pointSize: Style.fontSizeXXL * scaling
font.weight: Style.fontWeightBold
color: Colors.mOnSurface
color: Color.mOnSurface
Layout.alignment: Qt.AlignCenter
Layout.bottomMargin: Style.marginSmall * scaling
}
@ -68,7 +68,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.mOnSurface
color: Color.mOnSurface
Layout.alignment: Qt.AlignCenter
Layout.bottomMargin: Style.marginLarge * scaling
}
@ -81,25 +81,25 @@ ColumnLayout {
NText {
text: "Latest Version:"
color: Colors.mOnSurface
color: Color.mOnSurface
Layout.alignment: Qt.AlignRight
}
NText {
text: root.latestVersion
color: Colors.mOnSurface
color: Color.mOnSurface
font.weight: Style.fontWeightBold
}
NText {
text: "Installed Version:"
color: Colors.mOnSurface
color: Color.mOnSurface
Layout.alignment: Qt.AlignRight
}
NText {
text: root.currentVersion
color: Colors.mOnSurface
color: Color.mOnSurface
font.weight: Style.fontWeightBold
}
}
@ -110,8 +110,8 @@ ColumnLayout {
Layout.preferredWidth: updateText.implicitWidth + 46 * scaling
Layout.preferredHeight: Style.barHeight * scaling
radius: Style.radiusLarge * scaling
color: updateArea.containsMouse ? Colors.mPrimary : "transparent"
border.color: Colors.mPrimary
color: updateArea.containsMouse ? Color.mPrimary : "transparent"
border.color: Color.mPrimary
border.width: Math.max(1, Style.borderThin * scaling)
visible: {
if (root.currentVersion === "Unknown" || root.latestVersion === "Unknown")
@ -139,14 +139,14 @@ ColumnLayout {
text: "system_update"
font.family: "Material Symbols Outlined"
font.pointSize: Style.fontSizeXL * scaling
color: updateArea.containsMouse ? Colors.mSurface : Colors.mPrimary
color: updateArea.containsMouse ? Color.mSurface : Color.mPrimary
}
NText {
id: updateText
text: "Download latest release"
font.pointSize: Style.fontSizeLarge * scaling
color: updateArea.containsMouse ? Colors.mSurface : Colors.mPrimary
color: updateArea.containsMouse ? Color.mSurface : Color.mPrimary
}
}
@ -172,7 +172,7 @@ ColumnLayout {
text: `Shout-out to our ${root.contributors.length} awesome contributors!`
font.pointSize: Style.fontSizeLarge * scaling
font.weight: Style.fontWeightBold
color: Colors.mOnSurface
color: Color.mOnSurface
Layout.alignment: Qt.AlignCenter
Layout.topMargin: Style.marginLarge * 2
}
@ -200,7 +200,7 @@ ColumnLayout {
width: contributorsGrid.cellWidth - Style.marginLarge * scaling
height: contributorsGrid.cellHeight - Style.marginTiny * scaling
radius: Style.radiusLarge * scaling
color: contributorArea.containsMouse ? Colors.mTertiary : "transparent"
color: contributorArea.containsMouse ? Color.mTertiary : "transparent"
RowLayout {
anchors.fill: parent
@ -217,7 +217,7 @@ ColumnLayout {
anchors.fill: parent
anchors.margins: Style.marginTiny * scaling
fallbackIcon: "person"
borderColor: Colors.mPrimary
borderColor: Color.mPrimary
borderWidth: Math.max(1, Style.borderMedium * scaling)
imageRadius: width * 0.5
}
@ -231,7 +231,7 @@ ColumnLayout {
NText {
text: modelData.login || "Unknown"
font.weight: Style.fontWeightBold
color: contributorArea.containsMouse ? Colors.mSurface : Colors.mOnSurface
color: contributorArea.containsMouse ? Color.mSurface : Color.mOnSurface
elide: Text.ElideRight
Layout.fillWidth: true
}
@ -240,7 +240,7 @@ ColumnLayout {
text: (modelData.contributions || 0) + " " + ((modelData.contributions
|| 0) === 1 ? "commit" : "commits")
font.pointSize: Style.fontSizeSmall * scaling
color: contributorArea.containsMouse ? Colors.mSurface : Colors.mOnSurface
color: contributorArea.containsMouse ? Color.mSurface : Color.mOnSurface
}
}
}

View file

@ -48,7 +48,7 @@ ColumnLayout {
text: "Audio"
font.pointSize: Style.fontSizeXL * scaling
font.weight: Style.fontWeightBold
color: Colors.mOnSurface
color: Color.mOnSurface
Layout.bottomMargin: Style.marginSmall * scaling
}
@ -69,13 +69,13 @@ ColumnLayout {
NText {
text: "Master Volume"
font.weight: Style.fontWeightBold
color: Colors.mOnSurface
color: Color.mOnSurface
}
NText {
text: "System-wide volume level"
font.pointSize: Style.fontSizeSmall * scaling
color: Colors.mOnSurface
color: Color.mOnSurface
wrapMode: Text.WordWrap
Layout.fillWidth: true
}
@ -109,7 +109,7 @@ ColumnLayout {
NText {
text: Math.floor(AudioService.volume * 100) + "%"
Layout.alignment: Qt.AlignVCenter
color: Colors.mOnSurface
color: Color.mOnSurface
}
}
}
@ -148,7 +148,7 @@ ColumnLayout {
text: "Audio Devices"
font.pointSize: Style.fontSizeXL * scaling
font.weight: Style.fontWeightBold
color: Colors.mOnSurface
color: Color.mOnSurface
Layout.bottomMargin: Style.marginSmall * scaling
}
@ -167,13 +167,13 @@ ColumnLayout {
text: "Output Device"
font.pointSize: Style.fontSizeMedium * scaling
font.weight: Style.fontWeightBold
color: Colors.mOnSurface
color: Color.mOnSurface
}
NText {
text: "Select the desired audio output device"
font.pointSize: Style.fontSizeSmall * scaling
color: Colors.mOnSurface
color: Color.mOnSurface
wrapMode: Text.WordWrap
Layout.fillWidth: true
}
@ -206,13 +206,13 @@ ColumnLayout {
text: "Input Device"
font.pointSize: Style.fontSizeMedium * scaling
font.weight: Style.fontWeightBold
color: Colors.mOnSurface
color: Color.mOnSurface
}
NText {
text: "Select desired audio input device"
font.pointSize: Style.fontSizeSmall * scaling
color: Colors.mOnSurface
color: Color.mOnSurface
wrapMode: Text.WordWrap
Layout.fillWidth: true
}
@ -246,7 +246,7 @@ ColumnLayout {
text: "Audio Visualizer"
font.pointSize: Style.fontSizeXL * scaling
font.weight: Style.fontWeightBold
color: Colors.mOnSurface
color: Color.mOnSurface
Layout.bottomMargin: Style.marginSmall * scaling
}

View file

@ -37,7 +37,7 @@ ColumnLayout {
text: "Components"
font.pointSize: Style.fontSizeXL * scaling
font.weight: Style.fontWeightBold
color: Colors.mOnSurface
color: Color.mOnSurface
}
NToggle {
@ -51,7 +51,7 @@ ColumnLayout {
NToggle {
label: "Show System Info"
description: "Display system information (CPU, RAM, Temperature)"
description: "Display system statistics (CPU, RAM, Temperature)"
checked: Settings.data.bar.showSystemInfo
onToggled: checked => {
Settings.data.bar.showSystemInfo = checked
@ -66,6 +66,24 @@ ColumnLayout {
Settings.data.bar.showMedia = checked
}
}
NToggle {
label: "Show Notifications History"
description: "Display a shortcut to the notifications history"
checked: Settings.data.bar.showNotificationsHistory
onToggled: checked => {
Settings.data.bar.showNotificationsHistory = checked
}
}
NToggle {
label: "Show Applications Tray"
description: "Display the applications tray"
checked: Settings.data.bar.showTray
onToggled: checked => {
Settings.data.bar.showTray = checked
}
}
}
}
}

View file

@ -31,13 +31,13 @@ Item {
text: "Brightness Settings"
font.pointSize: Style.fontSizeXL * scaling
font.weight: Style.fontWeightBold
color: Colors.mOnSurface
color: Color.mOnSurface
}
NText {
text: "Configure brightness controls and monitor settings."
font.pointSize: Style.fontSize * scaling
color: Colors.mOnSurfaceVariant
color: Color.mOnSurfaceVariant
}
// Bar Visibility Section
@ -50,15 +50,15 @@ Item {
text: "Bar Integration"
font.pointSize: Style.fontSizeLarge * scaling
font.weight: Style.fontWeightBold
color: Colors.mOnSurface
color: Color.mOnSurface
}
NToggle {
label: "Show Brightness Icon"
description: "Display the brightness control icon in the top bar"
checked: !Settings.data.bar.hideBrightness
checked: Settings.data.bar.showBrightness
onToggled: checked => {
Settings.data.bar.hideBrightness = !checked
Settings.data.bar.showBrightness = checked
}
}
}
@ -78,13 +78,13 @@ Item {
text: "Brightness Step Size"
font.pointSize: Style.fontSizeLarge * scaling
font.weight: Style.fontWeightBold
color: Colors.mOnSurface
color: Color.mOnSurface
}
NText {
text: "Adjust the step size for brightness changes (scroll wheel, keyboard shortcuts)"
font.pointSize: Style.fontSizeSmall * scaling
color: Colors.mOnSurfaceVariant
color: Color.mOnSurfaceVariant
wrapMode: Text.WordWrap
Layout.fillWidth: true
}
@ -109,7 +109,7 @@ Item {
NText {
text: Settings.data.brightness.brightnessStep + "%"
Layout.alignment: Qt.AlignVCenter
color: Colors.mOnSurface
color: Color.mOnSurface
font.pointSize: Style.fontSizeMedium * scaling
font.weight: Style.fontWeightBold
}
@ -131,13 +131,13 @@ Item {
text: "Monitor Brightness Overview"
font.pointSize: Style.fontSizeLarge * scaling
font.weight: Style.fontWeightBold
color: Colors.mOnSurface
color: Color.mOnSurface
}
NText {
text: "Current brightness levels for all detected monitors"
font.pointSize: Style.fontSizeSmall * scaling
color: Colors.mOnSurfaceVariant
color: Color.mOnSurfaceVariant
wrapMode: Text.WordWrap
Layout.fillWidth: true
}
@ -146,8 +146,8 @@ Item {
Rectangle {
Layout.fillWidth: true
radius: Style.radiusMedium * scaling
color: Colors.mSurface
border.color: Colors.mOutline
color: Color.mSurface
border.color: Color.mOutline
border.width: Math.max(1, Style.borderThin * scaling)
implicitHeight: contentCol.implicitHeight + Style.marginXL * 2 * scaling
@ -165,7 +165,7 @@ Item {
text: "Primary Monitor"
font.pointSize: Style.fontSizeLarge * scaling
font.weight: Style.fontWeightBold
color: Colors.mSecondary
color: Color.mSecondary
}
Item {
@ -175,7 +175,7 @@ Item {
NText {
text: BrightnessService.currentMethod === "ddcutil" ? "External (DDC)" : "Internal"
font.pointSize: Style.fontSizeSmall * scaling
color: Colors.mOnSurfaceVariant
color: Color.mOnSurfaceVariant
Layout.alignment: Qt.AlignRight
}
}
@ -187,7 +187,7 @@ Item {
NText {
text: "Brightness:"
font.pointSize: Style.fontSizeMedium * scaling
color: Colors.mOnSurface
color: Color.mOnSurface
}
NSlider {
@ -208,7 +208,7 @@ Item {
text: BrightnessService.available ? Math.round(BrightnessService.brightness) + "%" : "N/A"
font.pointSize: Style.fontSizeMedium * scaling
font.weight: Style.fontWeightBold
color: BrightnessService.available ? Colors.mPrimary : Colors.mOnSurfaceVariant
color: BrightnessService.available ? Color.mPrimary : Color.mOnSurfaceVariant
Layout.alignment: Qt.AlignRight
}
}
@ -220,13 +220,13 @@ Item {
NText {
text: "Method:"
font.pointSize: Style.fontSizeSmall * scaling
color: Colors.mOnSurfaceVariant
color: Color.mOnSurfaceVariant
}
NText {
text: BrightnessService.currentMethod || "Unknown"
font.pointSize: Style.fontSizeSmall * scaling
color: Colors.mOnSurface
color: Color.mOnSurface
Layout.alignment: Qt.AlignLeft
}
@ -237,7 +237,7 @@ Item {
NText {
text: BrightnessService.available ? "Available" : "Unavailable"
font.pointSize: Style.fontSizeSmall * scaling
color: BrightnessService.available ? Colors.mPrimary : Colors.mError
color: BrightnessService.available ? Color.mPrimary : Color.mError
Layout.alignment: Qt.AlignRight
}
}

View file

@ -152,14 +152,14 @@ ColumnLayout {
text: "Predefined Color Schemes"
font.pointSize: Style.fontSizeLarge * scaling
font.weight: Style.fontWeightBold
color: Colors.mOnSurface
color: Color.mOnSurface
Layout.fillWidth: true
}
NText {
text: "These color schemes only apply when 'Use Matugen' is disabled. When enabled, Matugen will generate colors based on your wallpaper instead."
font.pointSize: Style.fontSizeSmall * scaling
color: Colors.mOnSurface
color: Color.mOnSurface
Layout.fillWidth: true
wrapMode: Text.WordWrap
}
@ -190,7 +190,7 @@ ColumnLayout {
radius: Style.radiusMedium * scaling
color: getSchemeColor(modelData, "mSurface")
border.width: Math.max(1, Style.borderThick * scaling)
border.color: Settings.data.colorSchemes.predefinedScheme === modelData ? Colors.mPrimary : Colors.mOutline
border.color: Settings.data.colorSchemes.predefinedScheme === modelData ? Color.mPrimary : Color.mOutline
scale: root.cardScaleLow
// Mouse area for selection
@ -285,14 +285,14 @@ ColumnLayout {
width: 24 * scaling
height: 24 * scaling
radius: width * 0.5
color: Colors.mPrimary
color: Color.mPrimary
NText {
anchors.centerIn: parent
text: "✓"
font.pointSize: Style.fontSizeSmall * scaling
font.weight: Style.fontWeightBold
color: Colors.mOnPrimary
color: Color.mOnPrimary
}
}

View file

@ -45,13 +45,13 @@ Item {
text: "Permonitor configuration"
font.pointSize: Style.fontSizeXL * scaling
font.weight: Style.fontWeightBold
color: Colors.mOnSurface
color: Color.mOnSurface
}
NText {
text: "By default, bars and notifications are shown on all displays. Select one or more below to narrow your view."
font.pointSize: Style.fontSize * scaling
color: Colors.mOnSurfaceVariant
color: Color.mOnSurfaceVariant
}
Repeater {
@ -59,8 +59,8 @@ Item {
delegate: Rectangle {
Layout.fillWidth: true
radius: Style.radiusMedium * scaling
color: Colors.mSurface
border.color: Colors.mOutline
color: Color.mSurface
border.color: Color.mOutline
border.width: Math.max(1, Style.borderThin * scaling)
implicitHeight: contentCol.implicitHeight + Style.marginXL * 2 * scaling
@ -74,13 +74,13 @@ Item {
text: (modelData.name || "Unknown")
font.pointSize: Style.fontSizeLarge * scaling
font.weight: Style.fontWeightBold
color: Colors.mSecondary
color: Color.mSecondary
}
NText {
text: `Resolution: ${modelData.width}x${modelData.height} - Position: (${modelData.x}, ${modelData.y})`
font.pointSize: Style.fontSizeSmall * scaling
color: Colors.mOnSurface
color: Color.mOnSurface
}
ColumnLayout {

View file

@ -37,7 +37,7 @@ ColumnLayout {
text: "General Settings"
font.pointSize: Style.fontSizeXL * scaling
font.weight: Style.fontWeightBold
color: Colors.mOnSurface
color: Color.mOnSurface
}
// Profile section
@ -56,7 +56,7 @@ ColumnLayout {
height: 64 * scaling
imagePath: Settings.data.general.avatarImage
fallbackIcon: "person"
borderColor: Colors.mPrimary
borderColor: Color.mPrimary
borderWidth: Math.max(1, Style.borderMedium)
}
@ -88,7 +88,7 @@ ColumnLayout {
text: "User Interface"
font.pointSize: Style.fontSizeXL * scaling
font.weight: Style.fontWeightBold
color: Colors.mOnSurface
color: Color.mOnSurface
Layout.bottomMargin: Style.marginSmall * scaling
}

View file

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

View file

@ -37,7 +37,7 @@ ColumnLayout {
text: "Recording"
font.pointSize: Style.fontSizeXL * scaling
font.weight: Style.fontWeightBold
color: Colors.mOnSurface
color: Color.mOnSurface
Layout.bottomMargin: Style.marginSmall * scaling
}
@ -88,7 +88,7 @@ ColumnLayout {
text: "Video Settings"
font.pointSize: Style.fontSizeXL * scaling
font.weight: Style.fontWeightBold
color: Colors.mOnSurface
color: Color.mOnSurface
Layout.bottomMargin: Style.marginSmall * scaling
}
@ -216,7 +216,7 @@ ColumnLayout {
text: "Audio Settings"
font.pointSize: Style.fontSizeXL * scaling
font.weight: Style.fontWeightBold
color: Colors.mOnSurface
color: Color.mOnSurface
Layout.bottomMargin: Style.marginSmall * scaling
}

View file

@ -37,7 +37,7 @@ ColumnLayout {
text: "Location"
font.pointSize: Style.fontSizeXL * scaling
font.weight: Style.fontWeightBold
color: Colors.mOnSurface
color: Color.mOnSurface
Layout.bottomMargin: Style.marginSmall * scaling
}
@ -74,7 +74,7 @@ ColumnLayout {
text: "Time Format"
font.pointSize: Style.fontSizeXL * scaling
font.weight: Style.fontWeightBold
color: Colors.mOnSurface
color: Color.mOnSurface
Layout.bottomMargin: Style.marginSmall * scaling
}
@ -121,7 +121,7 @@ ColumnLayout {
text: "Weather"
font.pointSize: Style.fontSizeXL * scaling
font.weight: Style.fontWeightBold
color: Colors.mOnSurface
color: Color.mOnSurface
Layout.bottomMargin: Style.marginSmall * scaling
}

View file

@ -33,15 +33,15 @@ Item {
text: "Current Wallpaper"
font.pointSize: Style.fontSizeXL * scaling
font.weight: Style.fontWeightBold
color: Colors.mOnSurface
color: Color.mOnSurface
}
Rectangle {
Layout.fillWidth: true
Layout.preferredHeight: 120 * scaling
radius: Style.radiusMedium * scaling
color: Colors.mSurface
border.color: Colors.mOutline
color: Color.mSurface
border.color: Color.mOutline
border.width: Math.max(1, Style.borderThin * scaling)
clip: true
@ -51,7 +51,7 @@ Item {
anchors.margins: Style.marginSmall * scaling
imagePath: WallpapersService.currentWallpaper
fallbackIcon: "image"
borderColor: Colors.mOutline
borderColor: Color.mOutline
borderWidth: Math.max(1, Style.borderThin * scaling)
imageRadius: Style.radiusMedium * scaling
}
@ -74,12 +74,12 @@ Item {
text: "Wallpaper Selector"
font.pointSize: Style.fontSizeXL * scaling
font.weight: Style.fontWeightBold
color: Colors.mOnSurface
color: Color.mOnSurface
}
NText {
text: "Click on a wallpaper to set it as your current wallpaper"
color: Colors.mOnSurface
color: Color.mOnSurface
wrapMode: Text.WordWrap
Layout.fillWidth: true
}
@ -87,7 +87,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.mOnSurface
color: Color.mOnSurface
font.pointSize: Style.fontSizeSmall * scaling
visible: Settings.data.wallpaper.swww.enabled
}
@ -141,8 +141,8 @@ Item {
width: wallpaperGridView.itemSize
height: Math.floor(wallpaperGridView.itemSize * 0.67)
radius: Style.radiusMedium * scaling
color: isSelected ? Colors.mPrimary : Colors.mSurface
border.color: isSelected ? Colors.mSecondary : Colors.mOutline
color: isSelected ? Color.mPrimary : Color.mSurface
border.color: isSelected ? Color.mSecondary : Color.mOutline
border.width: Math.max(1, Style.borderThin * scaling)
clip: true
@ -163,8 +163,8 @@ Item {
width: 20 * scaling
height: 20 * scaling
radius: width / 2
color: Colors.mPrimary
border.color: Colors.mOutline
color: Color.mPrimary
border.color: Color.mOutline
border.width: Math.max(1, Style.borderThin * scaling)
visible: isSelected
@ -173,14 +173,14 @@ Item {
text: "check"
font.family: "Material Symbols Outlined"
font.pointSize: Style.fontSizeSmall * scaling
color: Colors.mOnPrimary
color: Color.mOnPrimary
}
}
// Hover effect
Rectangle {
anchors.fill: parent
color: Colors.mOnSurface
color: Color.mOnSurface
opacity: mouseArea.containsMouse ? 0.1 : 0
radius: parent.radius
@ -206,9 +206,9 @@ Item {
// Empty state
Rectangle {
anchors.fill: parent
color: Colors.mSurface
color: Color.mSurface
radius: Style.radiusMedium * scaling
border.color: Colors.mOutline
border.color: Color.mOutline
border.width: Math.max(1, Style.borderThin * scaling)
visible: WallpapersService.wallpaperList.length === 0 && !WallpapersService.scanning
@ -220,20 +220,20 @@ Item {
text: "folder_open"
font.family: "Material Symbols Outlined"
font.pointSize: Style.fontSizeLarge * scaling
color: Colors.mOnSurface
color: Color.mOnSurface
Layout.alignment: Qt.AlignHCenter
}
NText {
text: "No wallpapers found"
color: Colors.mOnSurface
color: Color.mOnSurface
font.weight: Style.fontWeightBold
Layout.alignment: Qt.AlignHCenter
}
NText {
text: "Make sure your wallpaper directory is configured and contains image files"
color: Colors.mOnSurface
color: Color.mOnSurface
wrapMode: Text.WordWrap
horizontalAlignment: Text.AlignHCenter
Layout.preferredWidth: Style.sliderWidth * 1.5 * scaling

View file

@ -37,7 +37,7 @@ ColumnLayout {
text: "Directory"
font.pointSize: Style.fontSizeXL * scaling
font.weight: Style.fontWeightBold
color: Colors.mOnSurface
color: Color.mOnSurface
Layout.bottomMargin: Style.marginSmall * scaling
}
@ -79,7 +79,7 @@ ColumnLayout {
text: "Automation"
font.pointSize: Style.fontSizeXL * scaling
font.weight: Style.fontWeightBold
color: Colors.mOnSurface
color: Color.mOnSurface
Layout.bottomMargin: Style.marginSmall * scaling
}
@ -102,13 +102,13 @@ ColumnLayout {
NText {
text: "Wallpaper Interval"
font.weight: Style.fontWeightBold
color: Colors.mOnSurface
color: Color.mOnSurface
}
NText {
text: "How often to change wallpapers automatically (in seconds)"
font.pointSize: Style.fontSizeSmall * scaling
color: Colors.mOnSurface
color: Color.mOnSurface
wrapMode: Text.WordWrap
Layout.fillWidth: true
}
@ -128,7 +128,7 @@ ColumnLayout {
stepSize: 10
value: Settings.data.wallpaper.randomInterval
onPressedChanged: Settings.data.wallpaper.randomInterval = Math.round(value)
cutoutColor: Colors.mSurface
cutoutColor: Color.mSurface
}
}
}
@ -149,7 +149,7 @@ ColumnLayout {
text: "SWWW"
font.pointSize: Style.fontSizeXL * scaling
font.weight: Style.fontWeightBold
color: Colors.mOnSurface
color: Color.mOnSurface
Layout.bottomMargin: Style.marginSmall * scaling
}
@ -275,13 +275,13 @@ ColumnLayout {
NText {
text: "Transition FPS"
font.weight: Style.fontWeightBold
color: Colors.mOnSurface
color: Color.mOnSurface
}
NText {
text: "Frames per second for transition animations"
font.pointSize: Style.fontSizeSmall * scaling
color: Colors.mOnSurface
color: Color.mOnSurface
wrapMode: Text.WordWrap
Layout.fillWidth: true
}
@ -301,7 +301,7 @@ ColumnLayout {
stepSize: 5
value: Settings.data.wallpaper.swww.transitionFps
onPressedChanged: Settings.data.wallpaper.swww.transitionFps = Math.round(value)
cutoutColor: Colors.mSurface
cutoutColor: Color.mSurface
}
}
@ -314,13 +314,13 @@ ColumnLayout {
NText {
text: "Transition Duration"
font.weight: Style.fontWeightBold
color: Colors.mOnSurface
color: Color.mOnSurface
}
NText {
text: "Duration of transition animations in seconds"
font.pointSize: Style.fontSizeSmall * scaling
color: Colors.mOnSurface
color: Color.mOnSurface
wrapMode: Text.WordWrap
Layout.fillWidth: true
}
@ -340,7 +340,7 @@ ColumnLayout {
stepSize: 0.05
value: Settings.data.wallpaper.swww.transitionDuration
onPressedChanged: Settings.data.wallpaper.swww.transitionDuration = value
cutoutColor: Colors.mSurface
cutoutColor: Color.mSurface
}
}
}

View file

@ -41,12 +41,12 @@ NBox {
text: "album"
font.family: "Material Symbols Outlined"
font.pointSize: Style.fontSizeXXL * 2.5 * scaling
color: Colors.mPrimary
color: Color.mPrimary
Layout.alignment: Qt.AlignHCenter
}
NText {
text: "No media player detected"
color: Colors.mOnSurfaceVariant
color: Color.mOnSurfaceVariant
Layout.alignment: Qt.AlignHCenter
}
@ -77,7 +77,7 @@ NBox {
// implicitWidth: 120 * scaling
// implicitHeight: 30 * scaling
color: "transparent"
border.color: playerSelector.activeFocus ? Colors.mTertiary : Colors.mOutline
border.color: playerSelector.activeFocus ? Color.mTertiary : Color.mOutline
border.width: Math.max(1, Style.borderThin * scaling)
radius: Style.radiusMedium * scaling
}
@ -88,7 +88,7 @@ NBox {
rightPadding: playerSelector.indicator.width + playerSelector.spacing
text: playerSelector.displayText
font.pointSize: Style.fontSizeSmall * scaling
color: Colors.mOnSurface
color: Color.mOnSurface
verticalAlignment: Text.AlignVCenter
elide: Text.ElideRight
}
@ -99,7 +99,7 @@ NBox {
text: "arrow_drop_down"
font.family: "Material Symbols Outlined"
font.pointSize: Style.fontSizeXL * scaling
color: Colors.mOnSurface
color: Color.mOnSurface
horizontalAlignment: Text.AlignRight
}
@ -120,8 +120,8 @@ NBox {
}
background: Rectangle {
color: Colors.mSurface
border.color: Colors.mOutline
color: Color.mSurface
border.color: Color.mOutline
border.width: Math.max(1, Style.borderThin * scaling)
radius: Style.radiusTiny * scaling
}
@ -132,7 +132,7 @@ NBox {
contentItem: NText {
text: modelData.identity
font.pointSize: Style.fontSizeSmall * scaling
color: highlighted ? Colors.mSurface : Colors.mOnSurface
color: highlighted ? Color.mSurface : Color.mOnSurface
verticalAlignment: Text.AlignVCenter
elide: Text.ElideRight
}
@ -140,7 +140,7 @@ NBox {
background: Rectangle {
width: popup.width - Style.marginSmall * scaling * 2
color: highlighted ? Colors.mTertiary : "transparent"
color: highlighted ? Color.mTertiary : "transparent"
radius: Style.radiusTiny * scaling
}
}
@ -161,8 +161,8 @@ NBox {
width: 90 * scaling
height: 90 * scaling
radius: width * 0.5
color: trackArt.visible ? Colors.mPrimary : "transparent"
border.color: trackArt.visible ? Colors.mOutline : "transparent"
color: trackArt.visible ? Color.mPrimary : "transparent"
border.color: trackArt.visible ? Color.mOutline : "transparent"
border.width: Math.max(1, Style.borderThin * scaling)
clip: true
@ -174,7 +174,7 @@ NBox {
anchors.margins: Style.marginTiny * scaling
imagePath: MediaService.trackArtUrl
fallbackIcon: "music_note"
borderColor: Colors.mOutline
borderColor: Color.mOutline
borderWidth: Math.max(1, Style.borderThin * scaling)
imageRadius: width * 0.5
}
@ -183,7 +183,7 @@ NBox {
NText {
anchors.centerIn: parent
text: "album"
color: Colors.mPrimary
color: Color.mPrimary
font.family: "Material Symbols Outlined"
font.pointSize: Style.fontSizeLarge * 12 * scaling
visible: !trackArt.visible
@ -210,7 +210,7 @@ NBox {
NText {
visible: MediaService.trackArtist !== ""
text: MediaService.trackArtist
color: Colors.mOnSurface
color: Color.mOnSurface
font.pointSize: Style.fontSizeSmall * scaling
elide: Text.ElideRight
Layout.fillWidth: true
@ -219,7 +219,7 @@ NBox {
NText {
visible: MediaService.trackAlbum !== ""
text: MediaService.trackAlbum
color: Colors.mOnSurface
color: Color.mOnSurface
font.pointSize: Style.fontSizeSmall * scaling
elide: Text.ElideRight
Layout.fillWidth: true
@ -235,7 +235,7 @@ NBox {
width: parent.width
height: 4 * scaling
radius: Style.radiusSmall * scaling
color: Colors.mSurface
color: Color.mSurface
Layout.fillWidth: true
property real progressRatio: {
@ -250,7 +250,7 @@ NBox {
width: progressBarBackground.progressRatio * parent.width
height: parent.height
radius: parent.radius
color: Colors.mPrimary
color: Color.mPrimary
Behavior on width {
NumberAnimation {
@ -266,8 +266,8 @@ NBox {
width: 16 * scaling
height: 16 * scaling
radius: width * 0.5
color: Colors.mPrimary
border.color: Colors.mOutline
color: Color.mPrimary
border.color: Color.mOutline
border.width: Math.max(1 * Style.borderMedium * scaling)
x: Math.max(0, Math.min(parent.width - width, progressFill.width - width / 2))
anchors.verticalCenter: parent.verticalCenter
@ -343,7 +343,7 @@ NBox {
width: 300 * scaling
height: 80 * scaling
values: CavaService.values
fillColor: Colors.mOnSurface
fillColor: Color.mOnSurface
Layout.alignment: Qt.AlignHCenter
}
}

View file

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

View file

@ -31,7 +31,7 @@ NBox {
LocationService.data.weather.current_weather.weathercode) : ""
font.family: "Material Symbols Outlined"
font.pointSize: Style.fontSizeXXL * 1.5 * scaling
color: Colors.mPrimary
color: Color.mPrimary
}
ColumnLayout {
@ -92,13 +92,13 @@ NBox {
spacing: Style.marginSmall * scaling
NText {
text: Qt.formatDateTime(new Date(LocationService.data.weather.daily.time[index]), "ddd")
color: Colors.mOnSurface
color: Color.mOnSurface
}
NText {
text: LocationService.weatherSymbolFromCode(LocationService.data.weather.daily.weathercode[index])
font.family: "Material Symbols Outlined"
font.pointSize: Style.fontSizeXL * scaling
color: Colors.mPrimary
color: Color.mPrimary
}
NText {
text: {
@ -113,7 +113,7 @@ NBox {
return `${max}°/${min}°`
}
font.pointSize: Style.fontSizeSmall * scaling
color: Colors.mOnSurfaceVariant
color: Color.mOnSurfaceVariant
}
}
}

View file

@ -26,9 +26,9 @@ NPanel {
width: 160 * scaling
height: 220 * scaling
radius: Style.radiusMedium * scaling
border.color: Colors.mOutline
border.color: Color.mOutline
border.width: Math.max(1, Style.borderThin * scaling)
color: Colors.mSurface
color: Color.mSurface
visible: true
z: 9999
@ -57,7 +57,7 @@ NPanel {
Layout.fillWidth: true
Layout.preferredHeight: Style.barHeight * scaling
radius: Style.radiusSmall * scaling
color: lockButtonArea.containsMouse ? Colors.mTertiary : "transparent"
color: lockButtonArea.containsMouse ? Color.mTertiary : "transparent"
Item {
anchors.left: parent.left
@ -80,7 +80,7 @@ NPanel {
font.variableAxes: {
"wght": (Font.Normal + Font.Bold) / 2.0
}
color: lockButtonArea.containsMouse ? Colors.mOnTertiary : Colors.mOnSurface
color: lockButtonArea.containsMouse ? Color.mOnTertiary : Color.mOnSurface
verticalAlignment: Text.AlignVCenter
anchors.verticalCenter: parent.verticalCenter
anchors.verticalCenterOffset: 1 * scaling
@ -88,7 +88,7 @@ NPanel {
Text {
text: "Lock Screen"
color: lockButtonArea.containsMouse ? Colors.mOnTertiary : Colors.mOnSurface
color: lockButtonArea.containsMouse ? Color.mOnTertiary : Color.mOnSurface
verticalAlignment: Text.AlignVCenter
anchors.verticalCenter: parent.verticalCenter
anchors.verticalCenterOffset: 1 * scaling
@ -117,7 +117,7 @@ NPanel {
Layout.fillWidth: true
Layout.preferredHeight: Style.barHeight * scaling
radius: Style.radiusSmall * scaling
color: suspendButtonArea.containsMouse ? Colors.mTertiary : "transparent"
color: suspendButtonArea.containsMouse ? Color.mTertiary : "transparent"
Item {
anchors.left: parent.left
@ -140,7 +140,7 @@ NPanel {
font.variableAxes: {
"wght": (Font.Normal + Font.Bold) / 2.0
}
color: suspendButtonArea.containsMouse ? Colors.mOnTertiary : Colors.mOnSurface
color: suspendButtonArea.containsMouse ? Color.mOnTertiary : Color.mOnSurface
verticalAlignment: Text.AlignVCenter
anchors.verticalCenter: parent.verticalCenter
anchors.verticalCenterOffset: 1 * scaling
@ -148,7 +148,7 @@ NPanel {
Text {
text: "Suspend"
color: suspendButtonArea.containsMouse ? Colors.mOnTertiary : Colors.mOnSurface
color: suspendButtonArea.containsMouse ? Color.mOnTertiary : Color.mOnSurface
verticalAlignment: Text.AlignVCenter
anchors.verticalCenter: parent.verticalCenter
anchors.verticalCenterOffset: 1 * scaling
@ -175,7 +175,7 @@ NPanel {
Layout.fillWidth: true
Layout.preferredHeight: Style.barHeight * scaling
radius: Style.radiusSmall * scaling
color: rebootButtonArea.containsMouse ? Colors.mTertiary : "transparent"
color: rebootButtonArea.containsMouse ? Color.mTertiary : "transparent"
Item {
anchors.left: parent.left
@ -198,7 +198,7 @@ NPanel {
font.variableAxes: {
"wght": (Font.Normal + Font.Bold) / 2.0
}
color: rebootButtonArea.containsMouse ? Colors.mOnTertiary : Colors.mOnSurface
color: rebootButtonArea.containsMouse ? Color.mOnTertiary : Color.mOnSurface
verticalAlignment: Text.AlignVCenter
anchors.verticalCenter: parent.verticalCenter
anchors.verticalCenterOffset: 1 * scaling
@ -206,7 +206,7 @@ NPanel {
Text {
text: "Reboot"
color: rebootButtonArea.containsMouse ? Colors.mOnTertiary : Colors.mOnSurface
color: rebootButtonArea.containsMouse ? Color.mOnTertiary : Color.mOnSurface
verticalAlignment: Text.AlignVCenter
anchors.verticalCenter: parent.verticalCenter
anchors.verticalCenterOffset: 1 * scaling
@ -233,7 +233,7 @@ NPanel {
Layout.fillWidth: true
Layout.preferredHeight: Style.barHeight * scaling
radius: Style.radiusSmall * scaling
color: logoutButtonArea.containsMouse ? Colors.mTertiary : "transparent"
color: logoutButtonArea.containsMouse ? Color.mTertiary : "transparent"
Item {
anchors.left: parent.left
@ -256,7 +256,7 @@ NPanel {
font.variableAxes: {
"wght": (Font.Normal + Font.Bold) / 2.0
}
color: logoutButtonArea.containsMouse ? Colors.mOnTertiary : Colors.mOnSurface
color: logoutButtonArea.containsMouse ? Color.mOnTertiary : Color.mOnSurface
verticalAlignment: Text.AlignVCenter
anchors.verticalCenter: parent.verticalCenter
anchors.verticalCenterOffset: 1 * scaling
@ -264,7 +264,7 @@ NPanel {
Text {
text: "Logout"
color: logoutButtonArea.containsMouse ? Colors.mOnTertiary : Colors.mOnSurface
color: logoutButtonArea.containsMouse ? Color.mOnTertiary : Color.mOnSurface
verticalAlignment: Text.AlignVCenter
anchors.verticalCenter: parent.verticalCenter
anchors.verticalCenterOffset: 1 * scaling
@ -291,7 +291,7 @@ NPanel {
Layout.fillWidth: true
Layout.preferredHeight: Style.barHeight * scaling
radius: Style.radiusSmall * scaling
color: shutdownButtonArea.containsMouse ? Colors.mTertiary : "transparent"
color: shutdownButtonArea.containsMouse ? Color.mTertiary : "transparent"
Item {
anchors.left: parent.left
@ -314,7 +314,7 @@ NPanel {
font.variableAxes: {
"wght": (Font.Normal + Font.Bold) / 2.0
}
color: shutdownButtonArea.containsMouse ? Colors.mOnTertiary : Colors.mOnSurface
color: shutdownButtonArea.containsMouse ? Color.mOnTertiary : Color.mOnSurface
verticalAlignment: Text.AlignVCenter
anchors.verticalCenter: parent.verticalCenter
anchors.verticalCenterOffset: 1 * scaling
@ -322,7 +322,7 @@ NPanel {
Text {
text: "Shutdown"
color: shutdownButtonArea.containsMouse ? Colors.mOnTertiary : Colors.mOnSurface
color: shutdownButtonArea.containsMouse ? Color.mOnTertiary : Color.mOnSurface
verticalAlignment: Text.AlignVCenter
anchors.verticalCenter: parent.verticalCenter
anchors.verticalCenterOffset: 1 * scaling

View file

@ -81,9 +81,9 @@ NLoader {
// Inline helpers moved to dedicated widgets: NCard and NCircleStat
Rectangle {
id: panelBackground
color: Colors.mSurface
color: Color.mSurface
radius: Style.radiusLarge * scaling
border.color: Colors.mOutlineVariant
border.color: Color.mOutlineVariant
border.width: Math.max(1, Style.borderThin * scaling)
layer.enabled: true
width: 460 * scaling

View file

@ -11,9 +11,9 @@ Rectangle {
implicitWidth: childrenRect.width
implicitHeight: childrenRect.height
color: Colors.mSurfaceVariant
color: Color.mSurfaceVariant
radius: Style.radiusMedium * scaling
border.color: Colors.mOutlineVariant
border.color: Color.mOutlineVariant
border.width: Math.max(1, Style.borderThin * scaling)
clip: true
}

View file

@ -6,7 +6,7 @@ Item {
id: root
property bool running: true
property color color: Colors.mPrimary
property color color: Color.mPrimary
property int size: Style.baseWidgetSize * scaling
property int strokeWidth: Style.borderThick * scaling
property int duration: 1000

View file

@ -9,8 +9,8 @@ Rectangle {
implicitWidth: childrenRect.width
implicitHeight: childrenRect.height
color: Colors.mSurface
color: Color.mSurface
radius: Style.radiusMedium * scaling
border.color: Colors.mOutline
border.color: Color.mOutline
border.width: Math.max(1, Style.borderThin * scaling)
}

View file

@ -18,9 +18,9 @@ Rectangle {
width: 68 * scaling
height: 92 * scaling
color: flat ? "transparent" : Colors.mSurface
color: flat ? "transparent" : Color.mSurface
radius: Style.radiusSmall * scaling
border.color: flat ? "transparent" : Colors.mSurfaceVariant
border.color: flat ? "transparent" : Color.mSurfaceVariant
border.width: flat ? 0 : Math.max(1, Style.borderThin * scaling)
clip: true
@ -58,14 +58,14 @@ Rectangle {
ctx.reset()
ctx.lineWidth = 6 * scaling * contentScale
// Track uses surfaceVariant for stronger contrast
ctx.strokeStyle = Colors.mSurface
ctx.strokeStyle = Color.mSurface
ctx.beginPath()
ctx.arc(cx, cy, r, start, endBg)
ctx.stroke()
// Value arc
const ratio = Math.max(0, Math.min(1, root.value / 100))
const end = start + (endBg - start) * ratio
ctx.strokeStyle = Colors.mPrimary
ctx.strokeStyle = Color.mPrimary
ctx.beginPath()
ctx.arc(cx, cy, r, start, end)
ctx.stroke()
@ -79,7 +79,7 @@ Rectangle {
text: `${root.value}${root.suffix}`
font.pointSize: Style.fontSizeMedium * scaling * contentScale
font.weight: Style.fontWeightBold
color: Colors.mOnSurface
color: Color.mOnSurface
horizontalAlignment: Text.AlignHCenter
}
@ -89,8 +89,8 @@ Rectangle {
width: 28 * scaling * contentScale
height: width
radius: width / 2
color: Colors.mSurface
// border.color: Colors.mPrimary
color: Color.mSurface
// border.color: Color.mPrimary
// border.width: Math.max(1, Style.borderThin * scaling)
anchors.right: parent.right
anchors.top: parent.top
@ -102,7 +102,7 @@ Rectangle {
text: root.icon
font.family: "Material Symbols Outlined"
font.pointSize: Style.fontSizeLargeXL * scaling * contentScale
color: Colors.mOnSurface
color: Color.mOnSurface
horizontalAlignment: Text.AlignHCenter
verticalAlignment: Text.AlignVCenter
}

View file

@ -29,12 +29,12 @@ ColumnLayout {
text: label
font.pointSize: Style.fontSizeMedium * scaling
font.weight: Style.fontWeightBold
color: Colors.mOnSurface
color: Color.mOnSurface
}
NText {
text: description
font.pointSize: Style.fontSizeSmall * scaling
color: Colors.mOnSurface
color: Color.mOnSurface
wrapMode: Text.WordWrap
}
}
@ -61,8 +61,8 @@ ColumnLayout {
background: Rectangle {
implicitWidth: Style.baseWidgetSize * 3.75 * scaling
implicitHeight: preferredHeight
color: Colors.mSurface
border.color: combo.activeFocus ? Colors.mTertiary : Colors.mOutline
color: Color.mSurface
border.color: combo.activeFocus ? Color.mTertiary : Color.mOutline
border.width: Math.max(1, Style.borderThin * scaling)
radius: Style.radiusMedium * scaling
}
@ -118,22 +118,22 @@ ColumnLayout {
contentItem: NText {
text: name
font.pointSize: Style.fontSizeMedium * scaling
color: highlighted ? Colors.mSurface : Colors.mOnSurface
color: highlighted ? Color.mSurface : Color.mOnSurface
verticalAlignment: Text.AlignVCenter
elide: Text.ElideRight
}
background: Rectangle {
width: combo.width - Style.marginMedium * scaling * 3
color: highlighted ? Colors.mTertiary : "transparent"
color: highlighted ? Color.mTertiary : "transparent"
radius: Style.radiusSmall * scaling
}
}
}
background: Rectangle {
color: Colors.mSurfaceVariant
border.color: Colors.mOutline
color: Color.mSurfaceVariant
border.color: Color.mOutline
border.width: Math.max(1, Style.borderThin * scaling)
radius: Style.radiusMedium * scaling
}

View file

@ -7,5 +7,5 @@ import qs.Services
Rectangle {
width: parent.width
height: Math.max(1, Style.borderThin * scaling)
color: Colors.mOutline
color: Color.mOutline
}

View file

@ -26,9 +26,9 @@ Rectangle {
implicitWidth: size
implicitHeight: size
color: (root.hovering || showFilled) ? Colors.mPrimary : "transparent"
color: (root.hovering || showFilled) ? Color.mPrimary : "transparent"
radius: width * 0.5
border.color: showBorder ? Colors.mPrimary : "transparent"
border.color: showBorder ? Color.mPrimary : "transparent"
border.width: Math.max(1, Style.borderThin * scaling)
NText {
@ -42,7 +42,7 @@ Rectangle {
font.variableAxes: {
"wght": (Font.Normal + Font.Bold) / 2.0
}
color: (root.hovering || showFilled) ? Colors.mOnPrimary : showBorder ? Colors.mPrimary : Colors.mOnSurface
color: (root.hovering || showFilled) ? Color.mOnPrimary : showBorder ? Color.mPrimary : Color.mOnSurface
horizontalAlignment: Text.AlignHCenter
verticalAlignment: Text.AlignVCenter
opacity: root.enabled ? Style.opacityFull : Style.opacityMedium

View file

@ -11,7 +11,7 @@ PanelWindow {
property bool showOverlay: Settings.data.general.dimDesktop
property int topMargin: Style.barHeight * scaling
property color overlayColor: showOverlay ? Colors.applyOpacity(Colors.mShadow, "AA") : "transparent"
property color overlayColor: showOverlay ? Color.applyOpacity(Color.mShadow, "AA") : "transparent"
signal dismissed
function hide() {

View file

@ -9,11 +9,11 @@ Item {
property string icon: ""
property string text: ""
property string tooltipText: ""
property color pillColor: Colors.mSurfaceVariant
property color textColor: Colors.mOnSurface
property color iconCircleColor: Colors.mPrimary
property color iconTextColor: Colors.mSurface
property color collapsedIconColor: Colors.mOnSurface
property color pillColor: Color.mSurfaceVariant
property color textColor: Color.mOnSurface
property color iconCircleColor: Color.mPrimary
property color iconTextColor: Color.mSurface
property color collapsedIconColor: Color.mOnSurface
property real sizeMultiplier: 0.8
property bool autoHide: false

View file

@ -14,7 +14,7 @@ RadioButton {
implicitHeight: Style.baseWidgetSize * 0.625 * scaling
radius: width * 0.5
color: "transparent"
border.color: root.checked ? Colors.mPrimary : Colors.mOnSurface
border.color: root.checked ? Color.mPrimary : Color.mOnSurface
border.width: Math.max(1, Style.borderMedium * scaling)
anchors.verticalCenter: parent.verticalCenter
@ -24,7 +24,7 @@ RadioButton {
implicitHeight: Style.marginSmall * scaling
radius: width * 0.5
color: Qt.alpha(Colors.mPrimary, root.checked ? 1 : 0)
color: Qt.alpha(Color.mPrimary, root.checked ? 1 : 0)
}
Behavior on border.color {

View file

@ -26,13 +26,13 @@ Slider {
width: root.availableWidth
height: implicitHeight
radius: height / 2
color: Colors.mSurface
color: Color.mSurface
Rectangle {
id: activeTrack
width: root.visualPosition * parent.width
height: parent.height
color: Colors.mPrimary
color: Color.mPrimary
radius: parent.radius
}
@ -42,7 +42,7 @@ Slider {
width: knobDiameter + cutoutExtra
height: knobDiameter + cutoutExtra
radius: width / 2
color: root.cutoutColor !== undefined ? root.cutoutColor : Colors.mSurface
color: root.cutoutColor !== undefined ? root.cutoutColor : Color.mSurface
x: Math.max(0, Math.min(parent.width - width,
root.visualPosition * (parent.width - root.knobDiameter) - cutoutExtra / 2))
y: (parent.height - height) / 2
@ -60,7 +60,7 @@ Slider {
anchors.fill: knob
source: knob
shadowEnabled: true
shadowColor: Colors.mShadow
shadowColor: Color.mShadow
shadowOpacity: 0.25
shadowHorizontalOffset: 0
shadowVerticalOffset: 1
@ -72,8 +72,8 @@ Slider {
implicitWidth: knobDiameter
implicitHeight: knobDiameter
radius: width * 0.5
color: root.pressed ? Colors.mSurfaceVariant : Colors.mSurface
border.color: Colors.mPrimary
color: root.pressed ? Color.mSurfaceVariant : Color.mSurface
border.color: Color.mPrimary
border.width: Math.max(1, Style.borderThick * scaling)
// Press feedback halo (using accent color, low opacity)
@ -82,7 +82,7 @@ Slider {
width: parent.width + 8 * scaling
height: parent.height + 8 * scaling
radius: width / 2
color: Colors.mPrimary
color: Color.mPrimary
opacity: root.pressed ? 0.16 : 0.0
}
}

View file

@ -9,5 +9,5 @@ Text {
font.family: Settings.data.ui.fontFamily
font.pointSize: Style.fontSizeMedium * scaling
font.weight: Style.fontWeightRegular
color: Colors.mOnSurface
color: Color.mOnSurface
}

View file

@ -29,13 +29,13 @@ Item {
text: label
font.pointSize: Style.fontSizeMedium * scaling
font.weight: Style.fontWeightBold
color: Colors.mOnSurface
color: Color.mOnSurface
}
NText {
text: description
font.pointSize: Style.fontSizeSmall * scaling
color: Colors.mOnSurface
color: Color.mOnSurface
wrapMode: Text.WordWrap
Layout.fillWidth: true
}
@ -47,8 +47,8 @@ Item {
implicitWidth: root.width
implicitHeight: Style.baseWidgetSize * 1.35 * scaling
radius: Style.radiusMedium * scaling
color: Colors.mSurface
border.color: Colors.mOutline
color: Color.mSurface
border.color: Color.mOutline
border.width: Math.max(1, Style.borderThin * scaling)
// Focus ring
@ -56,7 +56,7 @@ Item {
anchors.fill: parent
radius: frame.radius
color: "transparent"
border.color: input.activeFocus ? Colors.mTertiary : "transparent"
border.color: input.activeFocus ? Color.mTertiary : "transparent"
border.width: input.activeFocus ? Math.max(1, Style.borderThin * scaling) : 0
}
@ -74,8 +74,8 @@ Item {
echoMode: TextInput.Normal
readOnly: root.readOnly
enabled: root.enabled
color: Colors.mOnSurface
placeholderTextColor: Colors.mOnSurface
color: Color.mOnSurface
placeholderTextColor: Color.mOnSurface
background: null
font.pointSize: Style.fontSizeSmall * scaling
onEditingFinished: root.editingFinished()

View file

@ -27,13 +27,13 @@ RowLayout {
text: label
font.pointSize: Style.fontSizeMedium * scaling
font.weight: Style.fontWeightBold
color: Colors.mOnSurface
color: Color.mOnSurface
}
NText {
text: description
font.pointSize: Style.fontSizeSmall * scaling
color: Colors.mOnSurface
color: Color.mOnSurface
wrapMode: Text.WordWrap
Layout.fillWidth: true
}
@ -45,16 +45,16 @@ RowLayout {
implicitWidth: root.baseSize * 1.625 * scaling
implicitHeight: root.baseSize * scaling
radius: height * 0.5
color: root.checked ? Colors.mPrimary : Colors.mSurface
border.color: root.checked ? Colors.mPrimary : Colors.mOutline
color: root.checked ? Color.mPrimary : Color.mSurface
border.color: root.checked ? Color.mPrimary : Color.mOutline
border.width: Math.max(1, Style.borderMedium * scaling)
Rectangle {
implicitWidth: (root.baseSize - 5) * scaling
implicitHeight: (root.baseSize - 5) * scaling
radius: height * 0.5
color: root.checked ? Colors.mOnPrimary : Colors.mPrimary
border.color: root.checked ? Colors.mSurface : Colors.mSurface
color: root.checked ? Color.mOnPrimary : Color.mPrimary
border.color: root.checked ? Color.mSurface : Color.mSurface
border.width: Math.max(1, Style.borderMedium * scaling)
y: 2 * scaling
x: root.checked ? switcher.width - width - 2 * scaling : 2 * scaling

View file

@ -135,8 +135,8 @@ Window {
id: tooltipRect
anchors.fill: parent
radius: Style.radiusMedium * scaling
color: Colors.mSurface
border.color: Colors.mOutline
color: Color.mSurface
border.color: Color.mOutline
border.width: Math.max(1, Style.borderThin * scaling)
z: 1