diff --git a/dot_config/quickshell/Bar.qml b/dot_config/quickshell/Bar.qml index b191f82..a5c169a 100644 --- a/dot_config/quickshell/Bar.qml +++ b/dot_config/quickshell/Bar.qml @@ -110,7 +110,7 @@ Scope { BarComponents.BarPill { id: notifBtn groupName: "notifications" - accentColor: Shared.Theme.mauve + accentColor: notifBtn.count > 0 ? Shared.Theme.focus : Shared.Theme.overlay0 property int count: notifModel ? notifModel.values.length : 0 @@ -118,7 +118,7 @@ Scope { Text { Layout.alignment: Qt.AlignHCenter text: notifDaemon?.dnd ? "\u{f009b}" : "\u{f0f3}" - color: notifDaemon?.dnd ? Shared.Theme.danger : Shared.Theme.mauve + color: notifDaemon?.dnd ? Shared.Theme.danger : (notifBtn.count > 0 ? Shared.Theme.focus : Shared.Theme.text) font.pixelSize: Shared.Theme.fontLarge font.family: Shared.Theme.iconFont }, diff --git a/dot_config/quickshell/bar/popouts/BatteryPopout.qml b/dot_config/quickshell/bar/popouts/BatteryPopout.qml index 6fef4dc..8262987 100644 --- a/dot_config/quickshell/bar/popouts/BatteryPopout.qml +++ b/dot_config/quickshell/bar/popouts/BatteryPopout.qml @@ -145,16 +145,16 @@ Item { Layout.fillWidth: true implicitHeight: 28 radius: Shared.Theme.radiusSmall - color: active ? Qt.alpha(Shared.Theme.accent, Shared.Theme.opacityLight) : Shared.Theme.surface0 + color: active ? Qt.alpha(Shared.Theme.focus, Shared.Theme.opacityLight) : Shared.Theme.surface0 border.width: active ? 1 : 0 - border.color: Qt.alpha(Shared.Theme.accent, Shared.Theme.opacityMedium) + border.color: Qt.alpha(Shared.Theme.focus, Shared.Theme.opacityMedium) Behavior on color { ColorAnimation { duration: Shared.Theme.animFast } } Text { anchors.centerIn: parent text: parent.label - color: parent.active ? Shared.Theme.accent : Shared.Theme.subtext0 + color: parent.active ? Shared.Theme.focusActive : Shared.Theme.subtext0 font.pixelSize: Shared.Theme.fontSmall font.family: Shared.Theme.fontFamily font.bold: parent.active diff --git a/dot_config/quickshell/bar/popouts/BluetoothPopout.qml b/dot_config/quickshell/bar/popouts/BluetoothPopout.qml index 3ab6323..5266773 100644 --- a/dot_config/quickshell/bar/popouts/BluetoothPopout.qml +++ b/dot_config/quickshell/bar/popouts/BluetoothPopout.qml @@ -217,7 +217,7 @@ Item { anchors.rightMargin: 10 Text { text: root.scanning ? "Scanning…" : "Scan for devices" - color: root.scanning ? Shared.Theme.blue : Shared.Theme.text + color: root.scanning ? Shared.Theme.sky : Shared.Theme.text font.pixelSize: 11 font.family: Shared.Theme.fontFamily Layout.fillWidth: true @@ -225,7 +225,7 @@ Item { Rectangle { visible: root.scanning width: 8; height: 8; radius: 4 - color: Shared.Theme.blue + color: Shared.Theme.sky SequentialAnimation on opacity { running: root.scanning; loops: Animation.Infinite NumberAnimation { from: 1.0; to: 0.2; duration: 600 } diff --git a/dot_config/quickshell/bar/popouts/CalendarPopout.qml b/dot_config/quickshell/bar/popouts/CalendarPopout.qml index 8995687..e3fc3f9 100644 --- a/dot_config/quickshell/bar/popouts/CalendarPopout.qml +++ b/dot_config/quickshell/bar/popouts/CalendarPopout.qml @@ -106,7 +106,7 @@ Item { id: todayLabel anchors.centerIn: parent text: "Today" - color: Shared.Theme.blue + color: Shared.Theme.focus font.pixelSize: Shared.Theme.fontSmall font.family: Shared.Theme.fontFamily } @@ -168,7 +168,7 @@ Item { Rectangle { anchors.centerIn: parent width: 24; height: 24; radius: 12 - color: parent.isToday ? Shared.Theme.blue : "transparent" + color: parent.isToday ? Shared.Theme.focus : "transparent" } Text { diff --git a/dot_config/quickshell/bar/popouts/KubernetesPopout.qml b/dot_config/quickshell/bar/popouts/KubernetesPopout.qml index 1dfb1a9..5cb95bd 100644 --- a/dot_config/quickshell/bar/popouts/KubernetesPopout.qml +++ b/dot_config/quickshell/bar/popouts/KubernetesPopout.qml @@ -145,7 +145,7 @@ Item { } Text { text: modelData.memMi === -1 ? "—" : modelData.memMi + "Mi" - color: Shared.Theme.mauve + color: Shared.Theme.blue font.pixelSize: 11 font.family: Shared.Theme.fontFamily Layout.preferredWidth: 52 @@ -238,7 +238,7 @@ Item { RowLayout { width: parent.width - Text { text: "MEM"; color: Shared.Theme.mauve; font.pixelSize: 10; font.family: Shared.Theme.fontFamily; font.bold: true } + Text { text: "MEM"; color: Shared.Theme.blue; font.pixelSize: 10; font.family: Shared.Theme.fontFamily; font.bold: true } Item { Layout.fillWidth: true } Text { text: Shared.Kubernetes.quota ? Shared.Kubernetes.quota.memActualMi + "Mi actual" : "—" @@ -251,13 +251,13 @@ Item { rowLabel: "%REQ" valueLabel: Shared.Kubernetes.quota?.memReqLabel ?? "" fill: Shared.Kubernetes.quota?.memReqPct ?? 0 - barColor: Shared.Theme.mauve + barColor: Shared.Theme.blue } QuotaBar { rowLabel: "%LIM" valueLabel: Shared.Kubernetes.quota?.memLimLabel ?? "" fill: Shared.Kubernetes.quota?.memLimPct ?? 0 - barColor: Shared.Theme.mauve + barColor: Shared.Theme.blue barOpacity: 0.6 } } diff --git a/dot_config/quickshell/bar/popouts/NotificationCenter.qml b/dot_config/quickshell/bar/popouts/NotificationCenter.qml index 604515e..4edec1e 100644 --- a/dot_config/quickshell/bar/popouts/NotificationCenter.qml +++ b/dot_config/quickshell/bar/popouts/NotificationCenter.qml @@ -148,13 +148,13 @@ Item { Layout.fillWidth: true implicitHeight: 22 radius: 11 - color: isActive ? Qt.alpha(Shared.Theme.danger, Shared.Theme.opacityLight) : (schedMouse.containsMouse ? Shared.Theme.surface1 : Shared.Theme.surface0) + color: isActive ? Shared.Theme.focusField : (schedMouse.containsMouse ? Shared.Theme.surface1 : Shared.Theme.surface0) Behavior on color { ColorAnimation { duration: 100 } } Text { anchors.centerIn: parent text: parent.modelData.label - color: parent.isActive ? Shared.Theme.danger : Shared.Theme.overlay0 + color: parent.isActive ? Shared.Theme.focusActive : Shared.Theme.overlay0 font.pixelSize: Shared.Theme.fontSmall font.family: Shared.Theme.fontFamily } @@ -214,7 +214,9 @@ Item { Layout.fillWidth: true implicitHeight: notifContent.implicitHeight + 16 radius: Shared.Theme.radiusSmall - color: notifMouse.containsMouse ? Shared.Theme.surface1 : Shared.Theme.surface0 + color: modelData.urgency === NotificationUrgency.Critical + ? Shared.Theme.emberField + : (notifMouse.containsMouse ? Shared.Theme.surface1 : Shared.Theme.surface0) border.width: modelData.urgency === NotificationUrgency.Critical ? 1 : 0 border.color: Shared.Theme.danger diff --git a/dot_config/quickshell/bar/popouts/SystemPopout.qml b/dot_config/quickshell/bar/popouts/SystemPopout.qml index 106e032..601fa84 100644 --- a/dot_config/quickshell/bar/popouts/SystemPopout.qml +++ b/dot_config/quickshell/bar/popouts/SystemPopout.qml @@ -347,7 +347,7 @@ Item { audio: Pipewire.defaultAudioSource?.audio ?? null icon: (!audio || audio.muted) ? "\u{f036d}" : "\u{f036c}" label: "Mic" - accentColor: Shared.Theme.pink + accentColor: Shared.Theme.sky drawerActive: root.audioDrawer === "source" onDrawerToggled: root.audioDrawer = root.audioDrawer === "source" ? "" : "source" } @@ -391,7 +391,7 @@ Item { Text { text: devItem.isDefault ? "\u{f012c}" : "\u{f0765}" - color: devItem.isDefault ? (devItem.isSinkDrawer ? Shared.Theme.sky : Shared.Theme.pink) : Shared.Theme.overlay0 + color: devItem.isDefault ? Shared.Theme.sky : Shared.Theme.overlay0 font.pixelSize: 12 font.family: Shared.Theme.iconFont } @@ -540,9 +540,9 @@ Item { Repeater { model: [ - { name: "power-saver", icon: "\u{f19be}", color: Shared.Theme.green }, - { name: "balanced", icon: "\u{f0a01}", color: Shared.Theme.blue }, - { name: "performance", icon: "\u{f1b4b}", color: Shared.Theme.yellow } + { name: "power-saver", icon: "\u{f19be}" }, + { name: "balanced", icon: "\u{f0a01}" }, + { name: "performance", icon: "\u{f1b4b}" } ] Rectangle { @@ -555,7 +555,7 @@ Item { Text { anchors.centerIn: parent text: modelData.icon - color: root.powerProfile === modelData.name ? modelData.color : Shared.Theme.overlay0 + color: root.powerProfile === modelData.name ? Shared.Theme.focus : Shared.Theme.overlay0 font.pixelSize: 14 font.family: Shared.Theme.iconFont } diff --git a/dot_config/quickshell/keybinds/KeybindsWindow.qml b/dot_config/quickshell/keybinds/KeybindsWindow.qml index c5c9511..c4d5a08 100644 --- a/dot_config/quickshell/keybinds/KeybindsWindow.qml +++ b/dot_config/quickshell/keybinds/KeybindsWindow.qml @@ -128,7 +128,7 @@ Scope { // Dim backdrop Rectangle { anchors.fill: parent - color: Qt.rgba(0, 0, 0, 0.45) + color: Qt.alpha(Shared.Theme.base, 0.45) opacity: root.keybindsVisible ? 1.0 : 0.0 Behavior on opacity { NumberAnimation { duration: 180; easing.type: Easing.OutCubic } } } @@ -233,11 +233,11 @@ Scope { implicitWidth: tabText.implicitWidth + 20 radius: Shared.Theme.radiusSmall color: current - ? Qt.alpha(Shared.Theme.accent, Shared.Theme.opacityLight) + ? Qt.alpha(Shared.Theme.focus, Shared.Theme.opacityLight) : Qt.alpha(Shared.Theme.surface0, 0.5) border.width: 1 border.color: current - ? Qt.alpha(Shared.Theme.accent, Shared.Theme.opacityMedium) + ? Qt.alpha(Shared.Theme.focus, Shared.Theme.opacityMedium) : Shared.Theme.borderSubtle Behavior on color { ColorAnimation { duration: 120 } } @@ -247,7 +247,7 @@ Scope { id: tabText anchors.centerIn: parent text: modelData - color: parent.current ? Shared.Theme.accent : Shared.Theme.subtext0 + color: parent.current ? Shared.Theme.focusActive : Shared.Theme.subtext0 font.pixelSize: Shared.Theme.fontSmall font.family: Shared.Theme.fontFamily font.bold: parent.current diff --git a/dot_config/quickshell/notifications/NotificationPopup.qml b/dot_config/quickshell/notifications/NotificationPopup.qml index 59510b5..e7a346f 100644 --- a/dot_config/quickshell/notifications/NotificationPopup.qml +++ b/dot_config/quickshell/notifications/NotificationPopup.qml @@ -14,7 +14,7 @@ Rectangle { implicitWidth: 360 implicitHeight: content.implicitHeight + 20 radius: Shared.Theme.radiusNormal - color: Shared.Theme.popoutBackground + color: notification.urgency === NotificationUrgency.Critical ? Shared.Theme.emberField : Shared.Theme.popoutBackground border.width: 1 border.color: notification.urgency === NotificationUrgency.Critical ? Qt.alpha(Shared.Theme.danger, Shared.Theme.opacityMedium) : Shared.Theme.borderSubtle diff --git a/dot_config/quickshell/shared/Theme.qml b/dot_config/quickshell/shared/Theme.qml index 7c06ce0..437dd79 100644 --- a/dot_config/quickshell/shared/Theme.qml +++ b/dot_config/quickshell/shared/Theme.qml @@ -8,7 +8,7 @@ Singleton { readonly property var palettes: ({ neon: { // Backgrounds — v2 cool-tinted ground (Void→Stealth) - base: "#070709", mantle: "#101218", crust: "#000000", + base: "#070709", mantle: "#101218", crust: "#070709", surface0: "#181b22", surface1: "#262a34", surface2: "#383d49", overlay0: "#8b909c", overlay1: "#5a606c", // Text — Stark, not pure white @@ -16,7 +16,10 @@ Singleton { // Accent colors — apex-neon v2 spine lavender: "#9d00ff", // special / root violet mauve: "#9d00ff", // special / root violet - focus: "#d68fff", // attention — selection / "you are here" crosshair + focus: "#d68fff", // attention — "you are here" crosshair (Focus Max) + focusActive: "#b14dff", // attention — current selection / matched pair + focusField: "#3a1a4d", // attention — selection / region background + emberField: "#1f0a12", // danger — critical-severity ground (red figure on this) pink: "#ff0044", // danger red red: "#ff0044", // danger red yellow: "#ffb700", // warning amber @@ -35,7 +38,10 @@ Singleton { // Accent colors — apex-aeon v2 spine lavender: "#6a1fb8", // special / root violet mauve: "#6a1fb8", // special / root violet - focus: "#7c2fd6", // attention — selection / "you are here" crosshair + focus: "#7c2fd6", // attention — "you are here" crosshair (Focus Max) + focusActive: "#6a1fb8", // attention — current selection / matched pair + focusField: "#e3d6f5", // attention — selection / region background + emberField: "#f7dbe2", // danger — critical-severity ground pink: "#c8003a", // danger red red: "#c8003a", // danger red yellow: "#a86b00", // warning amber @@ -62,6 +68,9 @@ Singleton { readonly property color lavender: p.lavender readonly property color mauve: p.mauve readonly property color focus: p.focus + readonly property color focusActive: p.focusActive + readonly property color focusField: p.focusField + readonly property color emberField: p.emberField readonly property color pink: p.pink readonly property color red: p.red readonly property color yellow: p.yellow