feat(themes): boreal-dawn — the light half of the boreal day/night pair
First of three Nomarchy-exclusive dark/light pairs for v1 (with executive-ivory and kiln/kiln-clay in the next commits), built for settings.autoTheme: same identity in two lights, so the sunrise flip feels like the same room brightening. Boreal Dawn is the boreal forest six hours later — the aurora faded into a cold clear dawn. Frost-paper base (#EDF2F6), deep-slate text (10.9:1 AAA), the aurora violet deepened to text-grade (#7458C8, 4.69:1), spruce teal accentAlt (#22766E), GeistMono + the same 6/14/3/12 geometry as boreal so the pair swaps shape-invariant. Assets: whole-swap waybar (the same three frosted pills, light glass), rofi + 4x3 launcher grid, btop theme, dawn-treeline wallpaper mirroring aurora-boreal's composition (same spiky silhouette, dawn gradient, fading stars). flake.lock: nomarchy-wallpapers 803b48d -> a716cf6 — the single-input bump carrying backgrounds for all four new slugs (this task is the lock bump). Preview is a real render: theme-shot VM desktop at 480x270. Verification: V2. nix flake check --no-build green; checks theme-contrast (28x7+chips), theme-wholeswap, waybar-language, waybar-swap-env, rofi-text-width, state-sync-validate, auto-theme (VM day/night engine) all green. Visual protocol: theme-shot VM renders viewed for desktop + menu (frosted pills, wash selection, legibility — screenshots in /nix/store/l26kfdcf...theme-shot-boreal-dawn). audit findings at/below the boreal baseline (CVD-only + the same accent-pair Δhue as boreal). V3 pending: real-GL blur, btop visual, launcher grid on hardware (HARDWARE-QUEUE, this batch's entry). Design by Fable (palette lab + wallpaper SVGs); asset port by a Sonnet subagent from the boreal sources; reviewed file-by-file on Fable. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
122
themes/boreal-dawn/rofi.rasi
Normal file
122
themes/boreal-dawn/rofi.rasi
Normal file
@@ -0,0 +1,122 @@
|
||||
/**
|
||||
* Boreal Dawn — rofi whole-swap (themes/<slug>/rofi.rasi).
|
||||
* The base theme: a frosted dawn panel used by every menu (and, as a
|
||||
* list, the fallback launcher). The app launcher reshapes this into a
|
||||
* grid via themes/boreal-dawn/launcher.rasi, which @imports this file. The
|
||||
* `configuration {}` block is omitted on purpose — it comes from
|
||||
* modules/home/rofi.nix. Element structure mirrors the generated theme
|
||||
* so the theme-grid picker's per-invocation -theme-str still lays out.
|
||||
*/
|
||||
|
||||
* {
|
||||
base: #EDF2F6;
|
||||
glassBg: #EDF2F6E6;
|
||||
surface: #DFE7EE;
|
||||
overlay: #A9B8C6;
|
||||
text: #333E4E;
|
||||
subtext: #51617A;
|
||||
muted: #7C8B9D;
|
||||
accent: #7458C8;
|
||||
accentAlt: #22766E;
|
||||
accentSoft: #7458C83B;
|
||||
frostEdge: #22766E5C;
|
||||
|
||||
font: "GeistMono Nerd Font 11";
|
||||
background-color: transparent;
|
||||
text-color: @text;
|
||||
}
|
||||
|
||||
window {
|
||||
background-color: @glassBg;
|
||||
border: 1px;
|
||||
border-color: @frostEdge;
|
||||
border-radius: 14px;
|
||||
width: calc( 84ch min 65% );
|
||||
location: center;
|
||||
anchor: center;
|
||||
padding: 16px;
|
||||
}
|
||||
|
||||
mainbox {
|
||||
background-color: transparent;
|
||||
children: [ inputbar, message, listview ];
|
||||
spacing: 12px;
|
||||
}
|
||||
|
||||
inputbar {
|
||||
children: [ prompt, entry ];
|
||||
background-color: @surface;
|
||||
text-color: @text;
|
||||
border-radius: 10px;
|
||||
padding: 12px 16px;
|
||||
spacing: 10px;
|
||||
}
|
||||
|
||||
prompt { text-color: @accent; }
|
||||
|
||||
entry {
|
||||
text-color: @text;
|
||||
cursor: text;
|
||||
placeholder: "Search…";
|
||||
placeholder-color: @muted;
|
||||
}
|
||||
|
||||
listview {
|
||||
background-color: transparent;
|
||||
columns: 1;
|
||||
lines: 8;
|
||||
dynamic: true;
|
||||
scrollbar: true;
|
||||
spacing: 6px;
|
||||
padding: 4px 0px 0px 0px;
|
||||
}
|
||||
|
||||
element {
|
||||
background-color: transparent;
|
||||
text-color: @text;
|
||||
orientation: horizontal;
|
||||
border-radius: 10px;
|
||||
padding: 10px 14px;
|
||||
spacing: 12px;
|
||||
}
|
||||
|
||||
element normal.normal,
|
||||
element alternate.normal {
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
/* Selected row lifts on a soft aurora-violet wash. */
|
||||
element selected.normal {
|
||||
background-color: @accentSoft;
|
||||
text-color: @text;
|
||||
}
|
||||
|
||||
element-icon {
|
||||
background-color: transparent;
|
||||
size: 30px;
|
||||
cursor: inherit;
|
||||
}
|
||||
|
||||
element-text {
|
||||
background-color: transparent;
|
||||
text-color: inherit;
|
||||
highlight: bold;
|
||||
vertical-align: 0.5;
|
||||
}
|
||||
|
||||
message { padding: 0px; }
|
||||
|
||||
textbox {
|
||||
background-color: @surface;
|
||||
text-color: @text;
|
||||
border-radius: 10px;
|
||||
padding: 10px 14px;
|
||||
}
|
||||
|
||||
scrollbar {
|
||||
width: 4px;
|
||||
handle-width: 4px;
|
||||
handle-color: @accent;
|
||||
background-color: @surface;
|
||||
border: 0px;
|
||||
}
|
||||
Reference in New Issue
Block a user