Second exclusive pair (see 0ba1762 for the batch). Executive Ivory is the slate boardroom at 9 AM: the night skyline traded for paper, print and daylight. Warm ivory base (#F2F0E9), ink text (12.1:1 AAA), the steel blue deepened to letterhead weight (#2F5FBF, 5.25:1 as text), JetBrainsMono + slate's exact 5/12/2/10 geometry. Assets: the same solid edge-to-edge strip identity (ink on ivory, accent underline on the active workspace), rofi, btop, and a line-web wallpaper that mirrors slate's geometry in silver-on-paper with sparse blue threads. Verification: V2, same evidence set as 0ba1762 (all targeted checks green on this tree; theme-shot VM desktop + menu viewed — strip, underline, paper panel all render legibly; screenshots in /nix/store/5883sqfz...theme-shot-executive-ivory). Preview is the 480x270 VM render. V3 pending per the batch HARDWARE-QUEUE entry. Design on Fable; asset port by a Sonnet subagent from the executive-slate sources; reviewed on Fable. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
126 lines
2.6 KiB
Plaintext
126 lines
2.6 KiB
Plaintext
/**
|
|
* Executive Ivory — rofi whole-swap (themes/<slug>/rofi.rasi).
|
|
* Identity: a flat, sharp-cornered "control panel". No zebra, no glow —
|
|
* a solid ivory window, a recessed surface inputbar, and one accent edge
|
|
* marking the selected row. 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.
|
|
*/
|
|
|
|
* {
|
|
base: #F2F0E9;
|
|
surface: #E8E5DB;
|
|
overlay: #ABA898;
|
|
text: #252D3B;
|
|
subtext: #4A5568;
|
|
muted: #767E8D;
|
|
accent: #2F5FBF;
|
|
accentAlt: #46689E;
|
|
|
|
font: "Inter 13";
|
|
background-color: transparent;
|
|
text-color: @text;
|
|
}
|
|
|
|
window {
|
|
background-color: @base;
|
|
border: 1px;
|
|
border-color: @overlay;
|
|
border-radius: 4px;
|
|
width: calc( 84ch min 65% );
|
|
location: center;
|
|
anchor: center;
|
|
padding: 12px;
|
|
}
|
|
|
|
mainbox {
|
|
background-color: transparent;
|
|
children: [ inputbar, message, listview ];
|
|
spacing: 10px;
|
|
}
|
|
|
|
inputbar {
|
|
children: [ prompt, entry ];
|
|
background-color: @surface;
|
|
text-color: @text;
|
|
border: 1px;
|
|
border-color: @overlay;
|
|
border-radius: 4px;
|
|
padding: 10px 14px;
|
|
spacing: 10px;
|
|
}
|
|
|
|
prompt { text-color: @accent; }
|
|
|
|
entry {
|
|
text-color: @text;
|
|
cursor: text;
|
|
placeholder: "Type to filter…";
|
|
placeholder-color: @muted;
|
|
}
|
|
|
|
listview {
|
|
background-color: transparent;
|
|
columns: 1;
|
|
lines: 8;
|
|
dynamic: true;
|
|
scrollbar: true;
|
|
spacing: 4px;
|
|
padding: 4px 0px 0px 0px;
|
|
}
|
|
|
|
element {
|
|
background-color: transparent;
|
|
text-color: @text;
|
|
orientation: horizontal;
|
|
border-radius: 4px;
|
|
padding: 9px 14px;
|
|
spacing: 12px;
|
|
}
|
|
|
|
element normal.normal,
|
|
element alternate.normal {
|
|
background-color: transparent;
|
|
}
|
|
|
|
/* The one highlight: a solid accent-tinted row with an accent edge. */
|
|
element selected.normal {
|
|
background-color: #2F5FBF26;
|
|
text-color: @text;
|
|
border: 0px 0px 0px 3px;
|
|
border-color: @accent;
|
|
}
|
|
|
|
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: 0px; }
|
|
|
|
textbox {
|
|
background-color: @surface;
|
|
text-color: @text;
|
|
border: 1px;
|
|
border-color: @overlay;
|
|
border-radius: 4px;
|
|
padding: 9px 14px;
|
|
}
|
|
|
|
scrollbar {
|
|
width: 4px;
|
|
handle-width: 4px;
|
|
handle-color: @accent;
|
|
background-color: @surface;
|
|
border: 0px;
|
|
}
|