Reworked the menu look, palette-driven so it lands on every theme:
- Real Papirus icons in place of Nerd Font glyphs: a row() helper emits
rofi's per-row icon protocol, and the five static menus (root, Tools,
System, Power, Capture) map each entry to a freedesktop icon name
(verified present in Papirus). Entry text is now clean ("Apps"), the
case-matching is unchanged.
- Larger icons via a new t.ui.iconSize knob (36px, generated theme); the
summer whole-swaps keep their 40px identity.
- Rounded, roomy rows with subtle zebra striping: alternate rows lift to
@surface (a faint bg0 wash on the summer cream/slate windows), the
selected row to @accent — using rofi's normal/alternate/selected row
parities.
- Content-fit windows: fixed-num-lines=false so a 6-entry menu stops
reserving 8 rows of empty space (the launcher still fills + scrolls).
Dropped the fixed height:50% from the summer .rasi so they size to
content too — which also unhid their clipped Power/Keybindings rows.
- Title-cased the menu prompts.
Verified by building the HM config and rendering the generated theme plus
both summer whole-swaps headlessly (sway + grim): icons resolve, zebra
shows, every menu hugs its rows.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
139 lines
2.7 KiB
Plaintext
139 lines
2.7 KiB
Plaintext
/**
|
|
* Nomarchy Summer Day — rofi whole-swap (themes/<slug>/rofi.rasi).
|
|
* Ported from the legacy branch. The `configuration {}` block is omitted
|
|
* on purpose: modi/terminal/show-icons come from modules/home/rofi.nix.
|
|
* Iosevka 17 → a shipped Nerd Font.
|
|
*/
|
|
|
|
* {
|
|
bg0: #fdf6e3;
|
|
fg: #5c6a72;
|
|
red: #f85552;
|
|
yellow: #dfa000;
|
|
green: #8da101;
|
|
aqua: #35a77c;
|
|
blue: #3a94c5;
|
|
purple: #df69ba;
|
|
grey0: #a6b0a0;
|
|
|
|
font: "JetBrainsMono Nerd Font 14";
|
|
background-color: transparent;
|
|
text-color: @fg;
|
|
}
|
|
|
|
window {
|
|
transparency: "real";
|
|
background-color: @fg;
|
|
text-color: @bg0;
|
|
border-bottom: 5px;
|
|
border-color: @yellow;
|
|
border-radius: 15px;
|
|
width: 40%;
|
|
/* No fixed height — size to content (fixed-num-lines:false) so every
|
|
* entry shows without scrolling and there's no empty space below. */
|
|
location: center;
|
|
anchor: center;
|
|
x-offset: 0;
|
|
y-offset: 0;
|
|
}
|
|
|
|
mainbox {
|
|
background-color: transparent;
|
|
children: [ inputbar, listview ];
|
|
spacing: 0px;
|
|
padding: 0px;
|
|
}
|
|
|
|
inputbar {
|
|
children: [ prompt, entry ];
|
|
background-color: @green;
|
|
text-color: @bg0;
|
|
expand: false;
|
|
border-bottom: 5px;
|
|
border-color: @grey0;
|
|
border-radius: 10px;
|
|
margin: 15px;
|
|
padding: 10px;
|
|
spacing: 15px;
|
|
}
|
|
|
|
prompt {
|
|
enabled: true;
|
|
background-color: inherit;
|
|
text-color: inherit;
|
|
}
|
|
|
|
entry {
|
|
background-color: inherit;
|
|
text-color: inherit;
|
|
cursor: text;
|
|
placeholder: "Type to search...";
|
|
placeholder-color: @bg0;
|
|
}
|
|
|
|
listview {
|
|
background-color: transparent;
|
|
columns: 1;
|
|
lines: 8;
|
|
spacing: 0px;
|
|
cycle: true;
|
|
dynamic: true;
|
|
layout: vertical;
|
|
padding: 20px;
|
|
}
|
|
|
|
element {
|
|
background-color: transparent;
|
|
text-color: @bg0;
|
|
orientation: horizontal;
|
|
border-radius: 10px;
|
|
padding: 10px;
|
|
spacing: 15px;
|
|
}
|
|
|
|
/* Zebra striping: every other row lifts with a faint light wash over the
|
|
* dark window (bg0 at ~12% alpha). The selected row below still wins. */
|
|
element alternate.normal {
|
|
background-color: #fdf6e31f;
|
|
}
|
|
|
|
element-icon {
|
|
background-color: transparent;
|
|
text-color: inherit;
|
|
size: 40px;
|
|
cursor: inherit;
|
|
}
|
|
|
|
element-text {
|
|
background-color: transparent;
|
|
text-color: inherit;
|
|
highlight: bold;
|
|
cursor: inherit;
|
|
vertical-align: 0.5;
|
|
horizontal-align: 0.0;
|
|
}
|
|
|
|
element selected {
|
|
background-color: @bg0;
|
|
text-color: @fg;
|
|
border-bottom: 5px;
|
|
border-color: #bdc3af;
|
|
border-radius: 10px;
|
|
}
|
|
|
|
element-text selected {
|
|
text-color: @fg;
|
|
}
|
|
|
|
element-icon selected {
|
|
text-color: @fg;
|
|
}
|
|
|
|
scrollbar {
|
|
width: 0px;
|
|
background-color: transparent;
|
|
handle-width: 0px;
|
|
handle-color: transparent;
|
|
border: 0px;
|
|
}
|