Files
Nomarchy/themes/nord/rofi.rasi
Bernardo Magri 37204f5f45 feat(themes): per-theme rofi identities for nord/retro-82/lumon/kanagawa
Author a designed rofi.rasi whole-swap for the four remaining identity
themes, so all six now carry a distinct menu look (summer-day/night
already shipped their legacy ports). Each is built from the theme's
character rather than a legacy layout (their waybar overrides are
palette-only, so there was nothing to port):

- nord:     soft rounded "frost panel" — frost border, brighter-frost
            selection, aurora-purple prompt
- retro-82: sharp CRT terminal — square corners, amber-on-navy, a teal
            scanline underline, mono
- lumon:    clinical cyan "bezel" — thick cyan frame, a framed-not-filled
            readout inputbar, mono
- kanagawa: ink & paper — warm washi-paper frame, deep ink-well inputbar,
            crystal-blue wave selection

Each file is self-contained (it replaces the generated theme) and keeps
the element structure the theme-grid picker's per-invocation -theme-str
layers onto. rofi.nix needs no change — its existing themes/<slug>/
rofi.rasi probe whole-swaps when the file is present. All four parse
clean under `rofi -dump-theme`.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-20 19:45:37 +01:00

111 lines
2.5 KiB
Plaintext

/**
* Nomarchy Nord — rofi whole-swap (themes/<slug>/rofi.rasi).
* Frost identity: a soft, rounded "frost panel". The window wears a calm
* frost border; the selected row lifts to the brighter frost, and the
* prompt picks up the aurora purple for the one point of warmth.
* The `configuration {}` block is omitted on purpose — modi/terminal/
* show-icons come from modules/home/rofi.nix. Element structure mirrors
* the generated theme so the theme-grid picker's per-invocation
* -theme-str (vertical cards) still lays out correctly.
*/
* {
base: #2e3440;
surface: #3b4252;
overlay: #4c566a;
text: #d8dee9;
frost1: #81a1c1; /* calm frost — the border */
frost2: #88c0d0; /* bright frost — the selection */
aurora: #b48ead; /* the single accent pop — prompt */
font: "JetBrainsMono Nerd Font 13";
background-color: transparent;
text-color: @text;
}
window {
background-color: @base;
border: 2px;
border-color: @frost1;
border-radius: 14px; /* Nord is soft and rounded */
width: 40%;
location: center;
anchor: center;
padding: 8px;
}
mainbox {
background-color: transparent;
children: [ inputbar, message, listview ];
spacing: 0px;
}
inputbar {
children: [ prompt, entry ];
background-color: @surface;
text-color: @text;
border-radius: 10px;
padding: 10px 12px;
spacing: 8px;
margin: 0px 0px 8px 0px;
}
prompt { text-color: @aurora; }
entry {
text-color: @text;
cursor: text;
placeholder: "Search…";
placeholder-color: @overlay;
}
listview {
background-color: transparent;
columns: 1;
lines: 8;
dynamic: true;
scrollbar: false;
spacing: 4px;
padding: 8px 0px 0px 0px;
}
element {
background-color: transparent;
text-color: @text;
orientation: horizontal;
border-radius: 8px;
padding: 10px 14px;
spacing: 12px;
}
/* Faint frost-grey zebra; the selected row below still wins. */
element alternate.normal {
background-color: @surface;
}
element selected.normal {
background-color: @frost2;
text-color: @base;
}
element-icon {
background-color: transparent;
size: 36px;
cursor: inherit;
}
element-text {
background-color: transparent;
text-color: inherit;
highlight: bold;
vertical-align: 0.5;
}
message { padding: 8px 0px 0px 0px; }
textbox {
background-color: @surface;
text-color: @text;
border-radius: 8px;
padding: 8px 12px;
}
scrollbar { width: 0px; }