Keeps the Takemi geometry — the lean, the chamfer, the slabs — and swaps the palette wholesale. Mocha carries the ground; blue is the accent for anything live (focus, selection, borders, hover) and pink is the alarm for anything destructive or failed, so one hue no longer has to mean both 'active' and 'wrong'. Destructive controls rest as a pink keyline and fill solid only when hovered or selected: Mocha's pink is a pastel, and a resting slab of it reads as washed-out red rather than as a warning. The load ramp climbs text -> blue -> pink for the same reason, instead of fading straight through a muddy mid-tone. Surfaces covered: quickshell, Hyprland borders, alacritty, fish, dunst, and nvim (via the catppuccin plugin, submodule branch catppuccin-mocha). GTK 3/4, Qt and xsettingsd move to catppuccin-mocha-blue and are now tracked, since nothing else makes non-shell apps match the rice; the previous Takemi copies are in theme-repair-backups/. 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, pink 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), pink 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.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
|