From d2975650fa2b7ff82c5ba14b3e42f20fdbf2c907 Mon Sep 17 00:00:00 2001 From: Nils Pukropp Date: Fri, 18 Sep 2026 02:12:53 +0200 Subject: [PATCH] theme: move the alarm colour from pink to mauve MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Mocha's pink is a pastel. Filled at slab size against the near-black Persona surfaces it went chalky rather than sharp, which is what made hovered destructive buttons read as a washed-out red. Mauve is saturated enough to bite against that ground and still cannot be confused with the blue accent. Applies across quickshell, Hyprland, dunst, fish and nvim. The GTK overrides are dropped entirely — stock Catppuccin Mocha Blue already paints those surfaces, and a hand-written destructive colour there was one more thing to keep in step for no gain. Co-Authored-By: Claude Opus 5 --- dunst/dunstrc | 2 +- fish/conf.d/takemi_theme.fish | 9 +++++---- gtk-3.0/gtk.css | 11 ++++------- gtk-4.0/gtk.css | 4 ---- hypr/lua/palette.lua | 6 +++--- nvim | 2 +- quickshell/config/Theme.qml | 22 ++++++++++++---------- 7 files changed, 26 insertions(+), 30 deletions(-) diff --git a/dunst/dunstrc b/dunst/dunstrc index f94033b..ff630eb 100644 --- a/dunst/dunstrc +++ b/dunst/dunstrc @@ -4,7 +4,7 @@ transparency = 90 frame_color = "#89b4fa" frame_width = 1 separator_color= frame -highlight = "#f5c2e7" +highlight = "#cba6f7" [urgency_low] background = "#1e1e2e" diff --git a/fish/conf.d/takemi_theme.fish b/fish/conf.d/takemi_theme.fish index 0c061cd..6d87c0e 100644 --- a/fish/conf.d/takemi_theme.fish +++ b/fish/conf.d/takemi_theme.fish @@ -4,7 +4,8 @@ # Catppuccin Mocha's own fish theme (themes/Catppuccin Mocha.theme), with the # selection and pager rows carried over from the Takemi layout: a solid accent # block with crust punched out of it, rather than a tinted surface. The shell -# selects with a blue slab; the prompt should not disagree. +# selects with a blue slab and marks with mauve; the prompt should not +# disagree. # # Note that `fish_config` writing a theme from the web UI will recreate # fish_frozen_theme.fish, which sorts before this file and so would lose. @@ -25,7 +26,7 @@ set --global fish_color_cancel f38ba8 set --global fish_color_gray 6c7086 set --global fish_color_autosuggestion 6c7086 set --global fish_color_selection 11111b --background=89b4fa -set --global fish_color_search_match 11111b --background=f5c2e7 +set --global fish_color_search_match 11111b --background=cba6f7 set --global fish_color_match 11111b --background=89b4fa set --global fish_color_history_current --bold set --global fish_color_valid_path --underline @@ -38,13 +39,13 @@ set --global fish_color_status f38ba8 set --global fish_pager_color_progress 6c7086 --background=313244 set --global fish_pager_color_background -set --global fish_pager_color_prefix f5c2e7 --bold +set --global fish_pager_color_prefix cba6f7 --bold set --global fish_pager_color_completion cdd6f4 set --global fish_pager_color_description 6c7086 set --global fish_pager_color_secondary_background --background=181825 set --global fish_pager_color_secondary_completion cdd6f4 set --global fish_pager_color_secondary_description 6c7086 -set --global fish_pager_color_secondary_prefix f5c2e7 --bold +set --global fish_pager_color_secondary_prefix cba6f7 --bold set --global fish_pager_color_selected_background --background=89b4fa set --global fish_pager_color_selected_completion 11111b set --global fish_pager_color_selected_description 11111b diff --git a/gtk-3.0/gtk.css b/gtk-3.0/gtk.css index cca3269..4f2e5c0 100644 --- a/gtk-3.0/gtk.css +++ b/gtk-3.0/gtk.css @@ -1,7 +1,4 @@ -/* Catppuccin Mocha Blue carries the whole GTK3 palette itself, so there is no - * surface override here — the Takemi branch only needed one because it was - * painting Fluent's greys black. All that is left is the one place the rice - * disagrees with stock Catppuccin: destructive actions are pink, matching the - * shell's alarm colour. */ -@define-color destructive_bg_color #f38ba8; -@define-color destructive_fg_color #11111b; +/* Catppuccin Mocha Blue carries the whole GTK3 palette itself, so there is + * nothing to override here — the Takemi branch only needed this file because + * it was painting Fluent's greys black. Kept as a hook for the next time the + * rice disagrees with stock Catppuccin. */ diff --git a/gtk-4.0/gtk.css b/gtk-4.0/gtk.css index 0ed0fcf..bd280af 100644 --- a/gtk-4.0/gtk.css +++ b/gtk-4.0/gtk.css @@ -2,7 +2,3 @@ * overrode Fluent's greys with black here; Mocha needs no override — its own * surfaces are the palette the rest of the rice is built on. */ @import url("/usr/share/themes/catppuccin-mocha-blue-standard+default/gtk-4.0/gtk.css"); - -/* Pink is the shell's alarm colour; keep destructive GTK buttons in step. */ -@define-color destructive_bg_color #f38ba8; -@define-color destructive_fg_color #11111b; diff --git a/hypr/lua/palette.lua b/hypr/lua/palette.lua index 664005c..a19fe90 100644 --- a/hypr/lua/palette.lua +++ b/hypr/lua/palette.lua @@ -1,6 +1,6 @@ -- Mocha palette — kept in step with ~/.config/quickshell/config/Theme.qml. -- --- Catppuccin Mocha ground, blue accent, pink alarm. Nothing else carries hue. +-- Catppuccin Mocha ground, blue accent, mauve alarm. Nothing else carries hue. -- -- Returned as a table, so every module that paints something does -- local c = require("lua/palette") @@ -10,14 +10,14 @@ local c = {} -- ---------------------------------------------------------------- THE KNOBS -- Two colours in this setup: blue for anything live (window borders, group --- indicators, focus), pink for anything wrong. Change these lines and every +-- indicators, focus), mauve for anything wrong. Change these lines and every -- painted edge recolours with them. -- -- Keep them in step with `accent` / `alarm` in -- ~/.config/quickshell/config/Theme.qml, which is what colours the shell. -- Those are the only places the colours are written. c.accent = "rgb(89b4fa)" -c.alarm = "rgb(f5c2e7)" +c.alarm = "rgb(cba6f7)" c.accentDim = "rgb(5a7dc0)" c.accentSoft = "rgb(b4befe)" diff --git a/nvim b/nvim index 9526fa8..4736228 160000 --- a/nvim +++ b/nvim @@ -1 +1 @@ -Subproject commit 9526fa8fac4194eed10ec3b16cb3179b01c6aeb3 +Subproject commit 4736228253fbaadc63cfce42440753cffdfb1c42 diff --git a/quickshell/config/Theme.qml b/quickshell/config/Theme.qml index 630c05c..1c98860 100644 --- a/quickshell/config/Theme.qml +++ b/quickshell/config/Theme.qml @@ -8,10 +8,14 @@ import Quickshell // // The Takemi branch ran monochrome-plus-crimson, where one hue carried both // "active" and "wrong". Mocha has room for two: blue is every resting accent — -// focus, selection, the thing you are pointing at — and pink is reserved for +// focus, selection, the thing you are pointing at — and mauve is reserved for // the things that bite, so destructive and error still read at a glance // without a third colour entering the shell. // +// Mauve rather than Mocha's pink: pink is a pastel, and a slab of it over this +// ground goes chalky. Mauve is saturated enough to hold an edge against the +// near-black surfaces the Persona layout is built from. +// // Everything else is Mocha's own neutral ramp. Fills stay flat and keylines // stay hard; only the hues moved. Singleton { @@ -44,7 +48,7 @@ Singleton { // ~/.config/hypr/lua/palette.lua, which is what colours the Hyprland // window borders. Those are the only places the colours are written. readonly property color accent: "#89b4fa" - readonly property color alarm: "#f5c2e7" + readonly property color alarm: "#cba6f7" readonly property color accentDim: "#5a7dc0" readonly property color accentSoft: "#b4befe" @@ -83,14 +87,12 @@ Singleton { readonly property color treatmentActiveMark: root.accent readonly property color treatmentActiveText: root.text - // Pink carries destructive/error meaning — never blue, so a dangerous + // Mauve carries destructive/error meaning — never blue, so a dangerous // button can never be mistaken for a merely focused one. // - // At rest it is a keyline and a label, not a fill: Mocha's pink is a - // pastel, and a slab of it reads as a washed-out red rather than as a - // warning. The solid pink is held back for the moment the pointer or the - // selection is actually on the thing — then it lands, with crust punched - // out of it at 11.8:1. + // At rest it is a keyline and a label, not a fill. The solid mauve is held + // back for the moment the pointer or the selection is actually on the + // thing — then it lands hard, with crust punched out of it at 9.1:1. readonly property color treatmentDestructiveFill: root.surface readonly property color treatmentDestructiveMark: root.alarm readonly property color treatmentDestructiveText: root.alarm @@ -116,7 +118,7 @@ Singleton { readonly property color ok: root.text readonly property color warn: root.alarm - // Display text carries a blue and a pink offset rather than an RGB split. + // Display text carries a blue and a mauve offset rather than an RGB split. // Same trick, this palette's two colours. readonly property color splitRed: root.accent readonly property color splitCyan: root.alarm @@ -135,7 +137,7 @@ Singleton { // Load readouts sit at text until the number actually matters, then climb // through the accent before they reach the alarm. Going straight from text - // to pink passes through a washed-out mid-tone that reads as a faded red + // to mauve passes through a washed-out mid-tone that reads as a faded red // rather than as a rising number; routing through blue keeps every step of // the ramp a colour the shell already uses. function heat(pct: real): color {