From abfe872109f5e74e38a52becb10f28f77521b601 Mon Sep 17 00:00:00 2001 From: Bernardo Magri Date: Sat, 13 Jun 2026 15:45:39 +0100 Subject: [PATCH] feat(themes): port legacy rofi identities for summer-day/night MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit themes//rofi.rasi whole-swaps for the two themes that had a distinct launcher look in the legacy branch — inverted window (bg=fg), green inputbar, yellow bottom-border accent, rounded. Adapted: dropped the configuration{} block (rofi.nix owns modi/terminal/show-icons) and swapped the unshipped Iosevka 17 for a shipped Nerd Font. Verified: both .rasi parse under `rofi -dump-theme`; the whole-swap selects per active theme (summer-night → #2d353b/#a7c080, summer-day → #fdf6e3, others → the generated palette theme); flake check green. Co-Authored-By: Claude Fable 5 --- README.md | 8 +-- themes/summer-day/rofi.rasi | 131 ++++++++++++++++++++++++++++++++++ themes/summer-night/rofi.rasi | 131 ++++++++++++++++++++++++++++++++++ 3 files changed, 266 insertions(+), 4 deletions(-) create mode 100644 themes/summer-day/rofi.rasi create mode 100644 themes/summer-night/rofi.rasi diff --git a/README.md b/README.md index 7673393..bd72fb0 100644 --- a/README.md +++ b/README.md @@ -288,10 +288,10 @@ close · `SUPER+1..9` workspaces · `Print` region screenshot. palette recolors and already match. Remaining: a visual pass over all six on the live ISO - **Per-theme rofi identity:** the `themes//rofi.rasi` whole-swap - mechanism ships; what remains is porting the legacy `rofi.rasi` designs - (summer-day/night already have them in the legacy branch) for the - identity themes — rofi's `.rasi` expresses their per-element looks - (green inputbar, inverted window) directly, unlike the old flat scheme + ships, and summer-day/night carry their legacy designs (inverted window, + green inputbar, yellow bottom-border). Remaining: author `.rasi` + identities for the other four ported themes if/when they want one (the + generated palette theme is the default and looks fine) - **Faster switches:** move `backgrounds/` out of the flake source (the 86 MB re-copy on every state write is the main eval tax), then pre-built theme variants if still needed diff --git a/themes/summer-day/rofi.rasi b/themes/summer-day/rofi.rasi new file mode 100644 index 0000000..5ae6c11 --- /dev/null +++ b/themes/summer-day/rofi.rasi @@ -0,0 +1,131 @@ +/** + * Nomarchy Summer Day — rofi whole-swap (themes//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%; + height: 50%; + 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; +} + +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; +} diff --git a/themes/summer-night/rofi.rasi b/themes/summer-night/rofi.rasi new file mode 100644 index 0000000..a268ad7 --- /dev/null +++ b/themes/summer-night/rofi.rasi @@ -0,0 +1,131 @@ +/** + * Nomarchy Summer Night — rofi whole-swap (themes//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: #2d353b; + fg: #d3c6aa; + red: #e68183; + yellow: #d9bb80; + green: #a7c080; + aqua: #83b6af; + blue: #83b6af; + purple: #d39bb6; + grey0: #868d80; + + 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%; + height: 50%; + 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; +} + +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: #161a1d; + 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; +}