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 <noreply@anthropic.com>
53 lines
1.6 KiB
Lua
53 lines
1.6 KiB
Lua
-- Mocha palette — kept in step with ~/.config/quickshell/config/Theme.qml.
|
|
--
|
|
-- 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")
|
|
-- and there is exactly one place the colours are written.
|
|
|
|
local c = {}
|
|
|
|
-- ---------------------------------------------------------------- THE KNOBS
|
|
-- Two colours in this setup: blue for anything live (window borders, group
|
|
-- 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(cba6f7)"
|
|
|
|
c.accentDim = "rgb(5a7dc0)"
|
|
c.accentSoft = "rgb(b4befe)"
|
|
|
|
-- ------------------------------------------------------------------ neutrals
|
|
c.ink = "rgb(11111b)"
|
|
|
|
c.base = "rgb(1e1e2e)"
|
|
c.mantle = "rgb(181825)"
|
|
c.surface = "rgb(313244)"
|
|
c.surfaceAlt = "rgb(45475a)"
|
|
c.overlay = "rgb(585b70)"
|
|
c.outline = "rgb(6c7086)"
|
|
|
|
c.text = "rgb(cdd6f4)"
|
|
c.subtext = "rgb(a6adc8)"
|
|
c.muted = "rgb(7f849c)"
|
|
|
|
-- Semantic aliases, so existing references resolve without inventing hues.
|
|
c.primary = c.text
|
|
c.primaryDim = "rgb(9399b2)"
|
|
c.glow = c.accent
|
|
c.blue = c.accent
|
|
c.deep = c.surfaceAlt
|
|
c.warn = c.alarm
|
|
c.ok = c.text
|
|
|
|
-- Blue into lavender, on the diagonal. Both ends are the accent's own family,
|
|
-- so the border never reads as two colours arguing.
|
|
c.activeBorder = { colors = { c.accent, c.accentSoft }, angle = 135 }
|
|
|
|
return c
|