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>
This commit is contained in:
109
themes/retro-82/rofi.rasi
Normal file
109
themes/retro-82/rofi.rasi
Normal file
@@ -0,0 +1,109 @@
|
||||
/**
|
||||
* Nomarchy Retro 82 — rofi whole-swap (themes/<slug>/rofi.rasi).
|
||||
* CRT-terminal identity: SQUARE corners (the giveaway against every rounded
|
||||
* theme), amber-on-navy phosphor, a monospace face. The window wears a hard
|
||||
* amber frame; the inputbar sits over a teal underline (a stray scanline),
|
||||
* and the prompt + selected row burn amber.
|
||||
* The `configuration {}` block is omitted on purpose — modi/terminal/
|
||||
* show-icons come from modules/home/rofi.nix.
|
||||
*/
|
||||
|
||||
* {
|
||||
navy: #05182e;
|
||||
panel: #00172e;
|
||||
overlay: #134e5a;
|
||||
sand: #f6dcac; /* phosphor cream — the foreground */
|
||||
teal: #3f8f8a; /* the underline scanline */
|
||||
amber: #faa968; /* the glow — frame, prompt, select */
|
||||
|
||||
font: "JetBrainsMono Nerd Font 13";
|
||||
background-color: transparent;
|
||||
text-color: @sand;
|
||||
}
|
||||
|
||||
window {
|
||||
background-color: @navy;
|
||||
border: 2px;
|
||||
border-color: @amber;
|
||||
border-radius: 0px; /* sharp: this is a terminal */
|
||||
width: 40%;
|
||||
location: center;
|
||||
anchor: center;
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
mainbox {
|
||||
background-color: transparent;
|
||||
children: [ inputbar, message, listview ];
|
||||
spacing: 0px;
|
||||
}
|
||||
|
||||
inputbar {
|
||||
children: [ prompt, entry ];
|
||||
background-color: @panel;
|
||||
text-color: @sand;
|
||||
border-bottom: 2px; /* a teal scanline under the field */
|
||||
border-color: @teal;
|
||||
border-radius: 0px;
|
||||
padding: 10px 12px;
|
||||
spacing: 8px;
|
||||
margin: 0px 0px 8px 0px;
|
||||
}
|
||||
|
||||
prompt { text-color: @amber; }
|
||||
|
||||
entry {
|
||||
text-color: @sand;
|
||||
cursor: text;
|
||||
placeholder: "search…";
|
||||
placeholder-color: @overlay;
|
||||
}
|
||||
|
||||
listview {
|
||||
background-color: transparent;
|
||||
columns: 1;
|
||||
lines: 8;
|
||||
dynamic: true;
|
||||
scrollbar: false;
|
||||
spacing: 2px;
|
||||
padding: 8px 0px 0px 0px;
|
||||
}
|
||||
|
||||
element {
|
||||
background-color: transparent;
|
||||
text-color: @sand;
|
||||
orientation: horizontal;
|
||||
border-radius: 0px; /* square rows too */
|
||||
padding: 10px 14px;
|
||||
spacing: 12px;
|
||||
}
|
||||
|
||||
element alternate.normal {
|
||||
background-color: @panel;
|
||||
}
|
||||
element selected.normal {
|
||||
background-color: @amber;
|
||||
text-color: @navy;
|
||||
}
|
||||
|
||||
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: @panel;
|
||||
text-color: @sand;
|
||||
border-radius: 0px;
|
||||
padding: 8px 12px;
|
||||
}
|
||||
|
||||
scrollbar { width: 0px; }
|
||||
Reference in New Issue
Block a user