feat(themes): add executive-slate professional dark theme
All checks were successful
Check / eval (push) Successful in 2m56s
All checks were successful
Check / eval (push) Successful in 2m56s
Leveraged Nano Banana to generate a 4k functional minimalist wallpaper. Added the new preset with a solid, high-legibility waybar and flat rofi launcher.
This commit is contained in:
@@ -34,6 +34,11 @@ Template:
|
|||||||
- **Did:** Researched modern Hyprland styles and generated a concept using Nano Banana. Created the `neon-glass` preset featuring a floating, segmented pill-style Waybar (`waybar.css`) and a glassmorphic Rofi launcher (`rofi.rasi`). Generated a matching 4K wallpaper.
|
- **Did:** Researched modern Hyprland styles and generated a concept using Nano Banana. Created the `neon-glass` preset featuring a floating, segmented pill-style Waybar (`waybar.css`) and a glassmorphic Rofi launcher (`rofi.rasi`). Generated a matching 4K wallpaper.
|
||||||
- **Verified:** Contrast checker script passed (22 themes x 7 pairings green). Flake check passed cleanly.
|
- **Verified:** Contrast checker script passed (22 themes x 7 pairings green). Flake check passed cleanly.
|
||||||
|
|
||||||
|
## 2026-07-06 — theme UI review, part 2 (iteration #53)
|
||||||
|
- **Task:** Create a professional, sober dark theme maximizing functionality.
|
||||||
|
- **Did:** Generated a minimalist geometric concept wallpaper. Created the `executive-slate` preset with a matte, dark gray/steel-blue palette. Re-styled Waybar to a compact, non-transparent, solid edge-to-edge functional bar and Rofi to a flat, simple grid UI.
|
||||||
|
- **Verified:** Contrast checker script passed (23 themes x 7 pairings green). Flake check passed cleanly.
|
||||||
|
|
||||||
## 2026-07-06 — waybar redesign (iteration #50, one-off)
|
## 2026-07-06 — waybar redesign (iteration #50, one-off)
|
||||||
- **Task:** User request — remove system usage (CPU) and memory items from waybar.
|
- **Task:** User request — remove system usage (CPU) and memory items from waybar.
|
||||||
- **Did:** removed `cpu` and `memory` from `modules-right` and the CSS styling blocks in `modules/home/waybar.nix`.
|
- **Did:** removed `cpu` and `memory` from `modules-right` and the CSS styling blocks in `modules/home/waybar.nix`.
|
||||||
|
|||||||
43
themes/executive-slate.json
Normal file
43
themes/executive-slate.json
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
{
|
||||||
|
"version": 1,
|
||||||
|
"name": "Executive Slate",
|
||||||
|
"slug": "executive-slate",
|
||||||
|
"mode": "dark",
|
||||||
|
"wallpaper": "",
|
||||||
|
"colors": {
|
||||||
|
"base": "#1A1D24",
|
||||||
|
"mantle": "#14161C",
|
||||||
|
"surface": "#232731",
|
||||||
|
"overlay": "#333947",
|
||||||
|
"text": "#D4DAE8",
|
||||||
|
"subtext": "#8792A6",
|
||||||
|
"muted": "#525A6E",
|
||||||
|
"accent": "#4D78CC",
|
||||||
|
"accentAlt": "#6C92D9",
|
||||||
|
"good": "#68A06B",
|
||||||
|
"warn": "#D19C4C",
|
||||||
|
"bad": "#C95F65"
|
||||||
|
},
|
||||||
|
"border": {
|
||||||
|
"active": "accent",
|
||||||
|
"inactive": "overlay"
|
||||||
|
},
|
||||||
|
"ansi": [
|
||||||
|
"#232731",
|
||||||
|
"#C95F65",
|
||||||
|
"#68A06B",
|
||||||
|
"#D19C4C",
|
||||||
|
"#4D78CC",
|
||||||
|
"#836CC9",
|
||||||
|
"#4C99A0",
|
||||||
|
"#D4DAE8",
|
||||||
|
"#525A6E",
|
||||||
|
"#D67177",
|
||||||
|
"#7BB57F",
|
||||||
|
"#E0AF5E",
|
||||||
|
"#6C92D9",
|
||||||
|
"#9A84E0",
|
||||||
|
"#5FABB3",
|
||||||
|
"#FFFFFF"
|
||||||
|
]
|
||||||
|
}
|
||||||
BIN
themes/executive-slate/backgrounds/wallpaper.png
Normal file
BIN
themes/executive-slate/backgrounds/wallpaper.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 661 KiB |
79
themes/executive-slate/rofi.rasi
Normal file
79
themes/executive-slate/rofi.rasi
Normal file
@@ -0,0 +1,79 @@
|
|||||||
|
/*
|
||||||
|
* Executive Slate Rofi Theme
|
||||||
|
* Clean, flat, functional, professional.
|
||||||
|
*/
|
||||||
|
|
||||||
|
* {
|
||||||
|
background-color: transparent;
|
||||||
|
text-color: var(text, #D4DAE8);
|
||||||
|
font: "Inter 13";
|
||||||
|
}
|
||||||
|
|
||||||
|
window {
|
||||||
|
width: 600px;
|
||||||
|
background-color: var(base, #1A1D24);
|
||||||
|
border: 1px solid var(overlay, #333947);
|
||||||
|
border-radius: 4px;
|
||||||
|
padding: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
mainbox {
|
||||||
|
spacing: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
inputbar {
|
||||||
|
background-color: var(surface, #232731);
|
||||||
|
border: 1px solid var(overlay, #333947);
|
||||||
|
border-radius: 4px;
|
||||||
|
padding: 10px 14px;
|
||||||
|
spacing: 10px;
|
||||||
|
children: [ prompt, entry ];
|
||||||
|
}
|
||||||
|
|
||||||
|
prompt {
|
||||||
|
text-color: var(accent, #4D78CC);
|
||||||
|
}
|
||||||
|
|
||||||
|
entry {
|
||||||
|
placeholder: "Type to filter...";
|
||||||
|
placeholder-color: var(subtext, #8792A6);
|
||||||
|
}
|
||||||
|
|
||||||
|
listview {
|
||||||
|
lines: 7;
|
||||||
|
spacing: 4px;
|
||||||
|
scrollbar: false;
|
||||||
|
border: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element {
|
||||||
|
padding: 8px 14px;
|
||||||
|
border-radius: 4px;
|
||||||
|
spacing: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element normal.normal, element alternate.normal {
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Functional highlight: solid surface color with a subtle accent edge */
|
||||||
|
element selected.normal {
|
||||||
|
background-color: var(surface, #232731);
|
||||||
|
text-color: var(text, #D4DAE8);
|
||||||
|
border: 0 0 0 4px solid;
|
||||||
|
border-color: var(accent, #4D78CC);
|
||||||
|
}
|
||||||
|
|
||||||
|
element-icon {
|
||||||
|
size: 24px;
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
element-text {
|
||||||
|
background-color: transparent;
|
||||||
|
vertical-align: 0.5;
|
||||||
|
}
|
||||||
|
|
||||||
|
element-text selected {
|
||||||
|
text-color: var(text, #D4DAE8);
|
||||||
|
}
|
||||||
88
themes/executive-slate/waybar.css
Normal file
88
themes/executive-slate/waybar.css
Normal file
@@ -0,0 +1,88 @@
|
|||||||
|
/* Executive Slate Waybar — Solid, functional, professional */
|
||||||
|
|
||||||
|
* {
|
||||||
|
font-family: "Inter", "Symbols Nerd Font", sans-serif;
|
||||||
|
font-size: 13px;
|
||||||
|
font-weight: 500;
|
||||||
|
border: none;
|
||||||
|
border-radius: 0;
|
||||||
|
min-height: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
window#waybar {
|
||||||
|
background: @base;
|
||||||
|
border-bottom: 1px solid @mantle;
|
||||||
|
color: @text;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Tightly packed modules for a functional feel */
|
||||||
|
.modules-left,
|
||||||
|
.modules-center,
|
||||||
|
.modules-right {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button,
|
||||||
|
#window,
|
||||||
|
#clock,
|
||||||
|
#tray,
|
||||||
|
#pulseaudio,
|
||||||
|
#battery,
|
||||||
|
#custom-notification,
|
||||||
|
#custom-vpn,
|
||||||
|
#custom-powerprofile,
|
||||||
|
#custom-updates,
|
||||||
|
#custom-doctor {
|
||||||
|
padding: 0 10px;
|
||||||
|
margin: 0;
|
||||||
|
border-radius: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Subtle hover effects */
|
||||||
|
#workspaces button {
|
||||||
|
color: @subtext;
|
||||||
|
transition: all 0.2s ease-in-out;
|
||||||
|
border-bottom: 2px solid transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button:hover {
|
||||||
|
background: @surface;
|
||||||
|
color: @text;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Active gets a strong underline instead of a glowing background */
|
||||||
|
#workspaces button.active {
|
||||||
|
color: @text;
|
||||||
|
background: @surface;
|
||||||
|
border-bottom: 2px solid @accent;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button.urgent {
|
||||||
|
color: @bad;
|
||||||
|
border-bottom: 2px solid @bad;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Minimal indicators */
|
||||||
|
#battery.charging { color: @good; }
|
||||||
|
#battery.warning:not(.charging) { color: @warn; }
|
||||||
|
#battery.critical:not(.charging) {
|
||||||
|
color: @bad;
|
||||||
|
background: @surface;
|
||||||
|
border-bottom: 2px solid @bad;
|
||||||
|
}
|
||||||
|
|
||||||
|
#pulseaudio.muted { color: @muted; }
|
||||||
|
#custom-updates { color: @accentAlt; }
|
||||||
|
#custom-doctor { color: @bad; }
|
||||||
|
#custom-vpn { color: @accent; }
|
||||||
|
|
||||||
|
/* Functional tooltip */
|
||||||
|
tooltip {
|
||||||
|
background: @base;
|
||||||
|
border: 1px solid @overlay;
|
||||||
|
border-radius: 4px;
|
||||||
|
}
|
||||||
|
tooltip label {
|
||||||
|
color: @text;
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user