theme: YoRHa dark — NieR:Automata interface on the space-1 wallpaper
Replaces the Persona x Mocha rice. NieR's menu language is kept whole — plain rectangles, hairline rules, letter-spaced upright capitals, a square marker on the current row, corner ticks round panels, and selection shown by inverting the row — but the colours come from ~/.wallpapers/space-1.jpg rather than from the game's beige: the grey-green void as the ground, the suit's sage grey as text, the planet's white as the one accent, and the hull's red indicator lights as the alarm. The Persona geometry is switched off rather than ripped out: Theme.skew and Theme.cut are 0, so P5Panel, Skew and Geom collapse to rectangles. Overshoot easing, italics and black weights are gone shell-wide. New, borrowed from caelestia's screen border: bar/Frame.qml draws the bar, the rail and a thin left/bottom band as one hull on the bottom layer, with the desktop as a rounded opening cut out of it. Frame also owns all four exclusive zones, so the bar and rail are placed from the screen edge. Hyprland moves to 1px borders lit from the planet white into grey, a soft wide shadow and gaps measured from the opening. Alacritty, fish and dunst get matching YoRHa palettes. Neovim, GTK/Qt and btop are still Mocha. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
5be22d86a9
commit
18091a7109
56 files changed
+796
-605
No files matched your search
+22
-19
@@ -1,5 +1,5 @@
|
||||
-- Persona × Mocha — Persona 5 shapes on the Catppuccin Mocha palette, matched
|
||||
-- to ~/.config/quickshell.
|
||||
-- YoRHa dark — NieR:Automata's interface language on the space-1 wallpaper's
|
||||
-- palette, matched to ~/.config/quickshell.
|
||||
--
|
||||
-- Everything static about how the desktop is painted. Motion lives next door
|
||||
-- in lua/animations.lua.
|
||||
@@ -9,17 +9,20 @@ local c = require("lua/palette")
|
||||
hl.config({
|
||||
-- https://wiki.hypr.land/Configuring/Basics/Variables/
|
||||
general = {
|
||||
-- Measured from the quickshell hull's opening, not the screen edge: the
|
||||
-- hull reserves its own exclusive zones. 10px clears the opening's 18px
|
||||
-- corner radius, so a tiled window never touches the rim.
|
||||
gaps_in = 5,
|
||||
gaps_out = { top = 6, right = 8, bottom = 8, left = 8 },
|
||||
gaps_out = 10,
|
||||
|
||||
border_size = 2,
|
||||
border_size = 1,
|
||||
|
||||
col = {
|
||||
active_border = c.activeBorder,
|
||||
-- Surface-level, not outline: an idle window's frame is structure,
|
||||
-- Overlay, not outline: an idle window's frame is structure,
|
||||
-- and the outline grey was bright enough to compete with the
|
||||
-- focused border.
|
||||
inactive_border = c.surfaceAlt,
|
||||
inactive_border = c.overlay,
|
||||
},
|
||||
|
||||
resize_on_border = false,
|
||||
@@ -32,29 +35,29 @@ hl.config({
|
||||
},
|
||||
|
||||
decoration = {
|
||||
-- Persona 5 has no rounded corners. Neither do we.
|
||||
-- NieR panels are plain rectangles. The only curve on screen is the
|
||||
-- porthole the quickshell hull cuts round the desktop.
|
||||
rounding = 0,
|
||||
|
||||
-- Fully opaque, both states. Flat ink on flat ground.
|
||||
active_opacity = 1.0,
|
||||
inactive_opacity = 1.0,
|
||||
|
||||
-- A hard crust offset, the same printed drop the shell's panels
|
||||
-- carry, rather than a soft blur. Sharp with a 1px range leaves a
|
||||
-- clean band down the right and bottom edges only.
|
||||
-- A soft, wide shadow: windows float in the opening rather than
|
||||
-- being printed onto it. Dark against the planet light, invisible
|
||||
-- against the void, which is how a shadow behaves out there.
|
||||
shadow = {
|
||||
enabled = true,
|
||||
sharp = true,
|
||||
range = 1,
|
||||
offset = { 4, 4 },
|
||||
color = c.ink,
|
||||
color_inactive = c.ink,
|
||||
sharp = false,
|
||||
range = 24,
|
||||
render_power = 3,
|
||||
offset = { 0, 6 },
|
||||
color = "rgba(000000aa)",
|
||||
color_inactive = "rgba(00000066)",
|
||||
},
|
||||
|
||||
-- Off. Blur is the signature of the glass-and-frost look, which is the
|
||||
-- opposite of what this theme is doing — every surface here is opaque,
|
||||
-- flat and hard-edged. With nothing translucent left to blur it also
|
||||
-- costs three render passes for no visible result.
|
||||
-- Off. Every surface here is opaque, so there is nothing to blur, and
|
||||
-- blur would cost three render passes for no visible result.
|
||||
blur = {
|
||||
enabled = false,
|
||||
},
|
||||
|
||||
+24
-22
@@ -1,6 +1,7 @@
|
||||
-- Mocha palette — kept in step with ~/.config/quickshell/config/Theme.qml.
|
||||
-- YoRHa dark palette — kept in step with ~/.config/quickshell/config/Theme.qml.
|
||||
--
|
||||
-- Catppuccin Mocha ground, blue accent, mauve alarm. Nothing else carries hue.
|
||||
-- The wallpaper's grey-green void for the ground, its planet light as the
|
||||
-- accent, the hull's red indicator as the alarm. Nothing else carries hue.
|
||||
--
|
||||
-- Returned as a table, so every module that paints something does
|
||||
-- local c = require("lua/palette")
|
||||
@@ -9,44 +10,45 @@
|
||||
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
|
||||
-- Two colours in this setup: the planet light for anything live (window
|
||||
-- borders, group indicators, focus), the hull red 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.accent = "rgb(eef1ea)"
|
||||
c.alarm = "rgb(c8684f)"
|
||||
|
||||
c.accentDim = "rgb(5a7dc0)"
|
||||
c.accentSoft = "rgb(b4befe)"
|
||||
c.accentDim = "rgb(8e978d)"
|
||||
c.accentSoft = "rgb(bcc1bf)"
|
||||
|
||||
-- ------------------------------------------------------------------ neutrals
|
||||
c.ink = "rgb(11111b)"
|
||||
c.ink = "rgb(090a08)"
|
||||
|
||||
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.base = "rgb(0f110e)"
|
||||
c.mantle = "rgb(0c0d0b)"
|
||||
c.surface = "rgb(161915)"
|
||||
c.surfaceAlt = "rgb(20241f)"
|
||||
c.overlay = "rgb(383e35)"
|
||||
c.outline = "rgb(545c52)"
|
||||
|
||||
c.text = "rgb(cdd6f4)"
|
||||
c.subtext = "rgb(a6adc8)"
|
||||
c.muted = "rgb(7f849c)"
|
||||
c.text = "rgb(ccd2cb)"
|
||||
c.subtext = "rgb(9fa7a2)"
|
||||
c.muted = "rgb(79847a)"
|
||||
|
||||
-- Semantic aliases, so existing references resolve without inventing hues.
|
||||
c.primary = c.text
|
||||
c.primaryDim = "rgb(9399b2)"
|
||||
c.primaryDim = "rgb(8e978d)"
|
||||
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 }
|
||||
-- The focused window is lit by the planet: full light at the top-left, the
|
||||
-- suit's grey at the far corner. One family, so it reads as light falling
|
||||
-- across the frame rather than as two colours.
|
||||
c.activeBorder = { colors = { c.accent, c.accentDim }, angle = 135 }
|
||||
|
||||
return c
|
||||
Reference in new issue
Block a user