feat(themes): executive-ivory gets the launcher grid — pair parity with 26dc6f6
All checks were successful
Check / eval (push) Successful in 4m18s

Upstream gave executive-slate the boreal-style 4x3 icon-grid launcher
while this batch was in flight; the ivory day sibling follows in the
same push so the pair stays shape-invariant. Geometry identical to the
slate grid (pure layout over the ivory rofi.rasi panel; the selected
card keeps the accent-edge highlight).

Verification: V1 here (layout-only file, colors inherited) + the
re-run checks on the rebased tree in this push; launcher grid on real
hardware is already in the batch HARDWARE-QUEUE entry.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-18 13:05:55 +01:00
parent 786a8ad30e
commit e0fba56ee6

View File

@@ -0,0 +1,46 @@
/**
* Executive Ivory — app-launcher override (themes/<slug>/launcher.rasi).
* Installed to ~/.local/share/rofi/themes/launcher.rasi and used only by
* `rofi -show drun` (the SUPER+Space / SUPER+D launcher). It inherits the
* flat ivory panel from the sibling rofi.rasi (this whole-swap theme,
* which HM deploys under its source basename — rofi.rasi — not custom.rasi),
* then reshapes the list into a 4×3 grid of large application icons —
* the same grid the executive-slate night sibling ships, so the pair
* swaps shape-invariant. Text menus keep the list — they don't use this
* theme. Cards stay at the theme's 4px radius (sharp "control panel"
* identity), and the selected card keeps the one-accent-edge highlight
* from rofi.rasi.
*/
@import "rofi.rasi"
window { width: 780px; }
listview {
columns: 4;
lines: 3;
fixed-columns: true;
spacing: 10px;
padding: 6px 0px 0px 0px;
/* Fill row-by-row so Down at a column's foot pages to the next screen
instead of jumping to the top of the next column (rofi's default
Vertical flow). Mirrors the theme-picker grid in rofi.nix. */
flow: horizontal;
}
element {
orientation: vertical;
padding: 16px 8px;
spacing: 10px;
border-radius: 4px;
}
element-icon {
size: 56px;
horizontal-align: 0.5;
}
element-text {
horizontal-align: 0.5;
vertical-align: 0.5;
}