feat(theme): finish neon-glass polish (#88)
Some checks failed
Check / eval (push) Has been cancelled
Some checks failed
Check / eval (push) Has been cancelled
Rewrite whole-swap rofi.rasi to rofi-native @colors (was invalid CSS var()); cyan glass panel matching Boreal's hex-alpha pattern. btop titles/selection in accent cyan; ui rounding/opacity tuned; preview.png from theme-shot. Bar stays generated from JSON (no waybar.css). Verified: V2 — contrast 24×7; theme-wholeswap; theme-shot neon-glass desktop+menu viewed; boreal theme-shot regression green.
This commit is contained in:
@@ -28,14 +28,14 @@
|
||||
"size": 11
|
||||
},
|
||||
"ui": {
|
||||
"gapsIn": 5,
|
||||
"gapsOut": 12,
|
||||
"gapsIn": 6,
|
||||
"gapsOut": 14,
|
||||
"borderSize": 2,
|
||||
"rounding": 10,
|
||||
"rounding": 14,
|
||||
"iconSize": 36,
|
||||
"activeOpacity": 1.0,
|
||||
"inactiveOpacity": 0.95,
|
||||
"terminalOpacity": 0.96,
|
||||
"activeOpacity": 0.96,
|
||||
"inactiveOpacity": 0.90,
|
||||
"terminalOpacity": 0.94,
|
||||
"blur": true,
|
||||
"shadow": true
|
||||
},
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
# Neon Glass — btop whole-swap (keep hexes aligned with neon-glass.json)
|
||||
theme[main_bg]="#0B0E14"
|
||||
theme[main_fg]="#E0E6F0"
|
||||
theme[title]="#E0E6F0"
|
||||
theme[title]="#00F0FF"
|
||||
theme[hi_fg]="#00F0FF"
|
||||
theme[selected_bg]="#1E2530"
|
||||
theme[selected_fg]="#E0E6F0"
|
||||
theme[selected_fg]="#00F0FF"
|
||||
theme[inactive_fg]="#4B566B"
|
||||
theme[graph_text]="#8F9BB3"
|
||||
theme[meter_bg]="#151A22"
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 202 KiB After Width: | Height: | Size: 202 KiB |
@@ -1,93 +1,133 @@
|
||||
/*
|
||||
* Neon Glass Rofi Theme
|
||||
* Glassmorphic, transparent, blurred background with glowing accents.
|
||||
/**
|
||||
* Neon Glass — rofi whole-swap (themes/<slug>/rofi.rasi).
|
||||
* Vibe: cyber-frost panel on near-black void — cyan rim light, soft
|
||||
* violet alt, translucent surfaces (hex-alpha, same pattern as Boreal's
|
||||
* glassBg). Structure mirrors the generated theme so the theme-grid
|
||||
* picker's -theme-str still lays out. No configuration {} block —
|
||||
* modi/terminal/show-icons come from modules/home/rofi.nix.
|
||||
*
|
||||
* Palette locks to themes/neon-glass.json (keep in sync on color edits).
|
||||
*/
|
||||
|
||||
* {
|
||||
/* Using standard theme palette via env variables injected by home-manager,
|
||||
or fallback if testing independently. The whole-swap still gets the
|
||||
colors injected into the RASI by the module! */
|
||||
base: #0B0E14;
|
||||
glassBg: #0B0E14E0; /* ~88% opaque void glass */
|
||||
surface: #151A22;
|
||||
glassSurf: #151A22CC;
|
||||
overlay: #1E2530;
|
||||
text: #E0E6F0;
|
||||
subtext: #8F9BB3;
|
||||
muted: #4B566B;
|
||||
accent: #00F0FF;
|
||||
accentAlt: #B026FF;
|
||||
accentSoft: #00F0FF33; /* cyan wash for selection */
|
||||
neonEdge: #00F0FF80; /* cyan border glow */
|
||||
good: #00FFA3;
|
||||
warn: #FFD000;
|
||||
bad: #FF003C;
|
||||
|
||||
font: "Inter 12";
|
||||
background-color: transparent;
|
||||
text-color: var(text, #E0E6F0);
|
||||
font: "Inter 13";
|
||||
text-color: @text;
|
||||
}
|
||||
|
||||
window {
|
||||
width: 600px;
|
||||
/* transparent base with slight tint */
|
||||
background-color: rgba(11, 14, 20, 0.45);
|
||||
background-color: @glassBg;
|
||||
border: 1px;
|
||||
border-color: rgba(0, 240, 255, 0.3);
|
||||
border-radius: 24px;
|
||||
padding: 24px;
|
||||
/* Blur would be applied via hyprland layerrule for rofi */
|
||||
border-color: @neonEdge;
|
||||
border-radius: 16px;
|
||||
width: 620px;
|
||||
location: center;
|
||||
anchor: center;
|
||||
padding: 18px;
|
||||
}
|
||||
|
||||
mainbox {
|
||||
spacing: 16px;
|
||||
background-color: transparent;
|
||||
children: [ inputbar, message, listview ];
|
||||
spacing: 14px;
|
||||
}
|
||||
|
||||
inputbar {
|
||||
background-color: rgba(21, 26, 34, 0.5);
|
||||
children: [ prompt, entry ];
|
||||
background-color: @glassSurf;
|
||||
text-color: @text;
|
||||
border: 1px;
|
||||
border-color: rgba(0, 240, 255, 0.5);
|
||||
border-color: @neonEdge;
|
||||
border-radius: 12px;
|
||||
padding: 12px 16px;
|
||||
spacing: 12px;
|
||||
children: [ prompt, entry ];
|
||||
}
|
||||
|
||||
prompt {
|
||||
text-color: var(accent, #00F0FF);
|
||||
}
|
||||
prompt { text-color: @accent; }
|
||||
|
||||
entry {
|
||||
placeholder: "Search...";
|
||||
placeholder-color: var(subtext, #8F9BB3);
|
||||
text-color: @text;
|
||||
cursor: text;
|
||||
placeholder: "Search…";
|
||||
placeholder-color: @muted;
|
||||
}
|
||||
|
||||
listview {
|
||||
lines: 7;
|
||||
spacing: 8px;
|
||||
background-color: transparent;
|
||||
columns: 1;
|
||||
lines: 8;
|
||||
dynamic: true;
|
||||
scrollbar: true;
|
||||
border: 0px;
|
||||
spacing: 6px;
|
||||
padding: 4px 0px 0px 0px;
|
||||
}
|
||||
|
||||
element {
|
||||
padding: 10px 16px;
|
||||
background-color: transparent;
|
||||
text-color: @text;
|
||||
orientation: horizontal;
|
||||
border-radius: 12px;
|
||||
padding: 10px 14px;
|
||||
spacing: 12px;
|
||||
}
|
||||
|
||||
element normal.normal, element alternate.normal {
|
||||
element normal.normal,
|
||||
element alternate.normal {
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
/* Selected: soft cyan wash + bright accent label (glass highlight). */
|
||||
element selected.normal {
|
||||
background-color: rgba(0, 240, 255, 0.15);
|
||||
background-color: @accentSoft;
|
||||
text-color: @accent;
|
||||
border: 1px;
|
||||
border-color: rgba(0, 240, 255, 0.4);
|
||||
text-color: var(accent, #00F0FF);
|
||||
border-color: @neonEdge;
|
||||
}
|
||||
|
||||
element-icon {
|
||||
size: 24px;
|
||||
background-color: transparent;
|
||||
size: 30px;
|
||||
cursor: inherit;
|
||||
}
|
||||
|
||||
element-text {
|
||||
background-color: transparent;
|
||||
text-color: inherit;
|
||||
highlight: bold;
|
||||
vertical-align: 0.5;
|
||||
}
|
||||
|
||||
element-text selected {
|
||||
text-color: var(accent, #00F0FF);
|
||||
message { padding: 0px; }
|
||||
|
||||
textbox {
|
||||
background-color: @glassSurf;
|
||||
text-color: @text;
|
||||
border: 1px;
|
||||
border-color: @overlay;
|
||||
border-radius: 12px;
|
||||
padding: 10px 14px;
|
||||
}
|
||||
|
||||
scrollbar {
|
||||
width: 4px;
|
||||
handle-width: 4px;
|
||||
handle-color: rgba(0, 240, 255, 0.8);
|
||||
background-color: rgba(21, 26, 34, 0.5);
|
||||
handle-color: @accent;
|
||||
background-color: @surface;
|
||||
border: 0px;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user