|
1 | | -# Color Audit - Smart Colors Migration Status |
| 1 | +# Color Audit - Quickshell Era |
2 | 2 |
|
3 | | -## Overview |
| 3 | +## Scope |
4 | 4 |
|
5 | | -This audit tracks migration from hardcoded UI colors to the Smart Colors system across HorneroConfig. |
| 5 | +Audit status for Smart Colors in the maintained stack (Hyprland + Quickshell). |
6 | 6 |
|
7 | | -## Audit Date |
| 7 | +## Status |
8 | 8 |
|
9 | | -2026-02-23 |
| 9 | +- Quickshell: primary consumer via `~/.cache/dots/smart-colors/scheme.json` |
| 10 | +- Hyprland: color environment integration active |
| 11 | +- Hyprlock: `colors-hyprlock.env` generated and consumed |
| 12 | +- Kitty: `colors-kitty.conf` generated and consumable |
| 13 | +- Scripts: `colors.sh` and `colors.env` available for shell consumers |
10 | 14 |
|
11 | | -## Current Status |
| 15 | +## Runtime Flow |
12 | 16 |
|
13 | | -### 1) Rofi |
14 | | - |
15 | | -**Location**: `home/dot_config/rofi/` |
16 | | - |
17 | | -- `apps.rasi`: ✅ migrated to tokenized colors |
18 | | -- `riceselector.rasi`: ✅ migrated to tokenized colors |
19 | | -- `riceselector-enhanced.rasi`: ⚠️ still uses some static `rgba(...)` overlays |
20 | | - |
21 | | -**Runtime integration**: |
22 | | -- `dots-wal-reload` now prefers `~/.cache/dots/smart-colors/colors-rofi.rasi` |
23 | | -- Falls back to pywal rofi colors if smart-colors output is unavailable |
24 | | - |
25 | | -### 2) Kitty |
26 | | - |
27 | | -**Location**: `home/dot_config/kitty/kitty.conf` |
28 | | - |
29 | | -- ✅ `kitty.conf` includes `~/.cache/dots/smart-colors/colors-kitty.conf` |
30 | | -- ✅ `dots-smart-colors --generate` emits `colors-kitty.conf` |
31 | | -- ✅ `dots-wal-reload` applies smart kitty colors first, then pywal fallback |
32 | | - |
33 | | -### 3) Waybar |
34 | | - |
35 | | -**Location**: `home/dot_config/waybar/` |
36 | | - |
37 | | -- ✅ Calendar hardcoded hex values removed from profile JSON files (default/top + profile variants) |
38 | | -- ✅ Profile palette aliases migrated to smart token mappings in: |
39 | | - - `configs/retro-wave/style.css.tmpl` |
40 | | - - `configs/cozy-minimal/style.css.tmpl` |
41 | | - - `configs/floating-neon/style.css.tmpl` |
42 | | -- ✅ `dots-wal-reload` links smart `colors-waybar.css` into all Waybar profile directories |
43 | | - |
44 | | -**Remaining debt**: |
45 | | -- Some profile-specific aesthetic `rgba(...)` overlays are intentionally retained |
46 | | - |
47 | | -### 4) EWW |
48 | | - |
49 | | -**Location**: `home/dot_config/eww/` |
50 | | - |
51 | | -- ✅ Dashboard hardcoded hex values reduced and replaced with semantic tokens in key sections |
52 | | -- ⚠️ Some non-critical style surfaces may still use static `rgba(...)` overlays for profile identity |
53 | | - |
54 | | -### 5) Hyprland / Mako |
55 | | - |
56 | | -- Hyprland: ✅ smart-colors integrated |
57 | | -- Mako: ✅ smart-colors output generated and integration paths present |
58 | | - |
59 | | -## Remaining Migration Priorities |
60 | | - |
61 | | -### Priority 1 (High) |
62 | | - |
63 | | -- Tokenize `riceselector-enhanced.rasi` static `rgba(...)` overlays while preserving UX identity. |
64 | | - |
65 | | -### Priority 2 (Medium) |
66 | | - |
67 | | -- Continue reducing profile-specific static `rgba(...)` values in Waybar/EWW where they impact theme consistency. |
68 | | - |
69 | | -### Priority 3 (Low) |
70 | | - |
71 | | -- Keep selective static accents only where they are intentionally part of profile branding, and document those exceptions. |
72 | | - |
73 | | -## Validation Checklist |
74 | | - |
75 | | -- Run smart-colors generation: |
76 | | - - `dots-smart-colors --generate` |
77 | | -- Reload app colors: |
78 | | - - `dots-wal-reload` |
79 | | -- Verify script standards: |
80 | | - - `./scripts/validate-dots-scripts.sh` |
81 | | - |
82 | | -## References |
83 | | - |
84 | | -- [Smart Colors Documentation](wiki/Smart-Colors-System.md) |
85 | | -- [Development Standards](Development-Standards.md) |
86 | | -- [System Architecture](System-Architecture.md)# Color Audit - Hardcoded Colors Migration Plan |
87 | | - |
88 | | -## Overview |
89 | | - |
90 | | -This document identifies hardcoded colors in configuration files that could benefit from migration to the smart-colors system for better theme consistency and adaptability. |
91 | | - |
92 | | -## Audit Date |
93 | | - |
94 | | -2025-01-XX |
95 | | - |
96 | | -## Findings |
97 | | - |
98 | | -### 1. Rofi Themes |
99 | | - |
100 | | -**Location**: `home/dot_config/rofi/` |
101 | | - |
102 | | -#### `apps.rasi` |
103 | | -- **Line 32**: `background-color: #1a1e2485;` (semi-transparent dark) |
104 | | -- **Line 35**: `background-color: #1a1e2480;` (semi-transparent dark) |
105 | | -- **Line 40**: `background-color: #f5f5f530;` (semi-transparent light) |
106 | | -- **Line 41**: `border-color: #f5f5f540;` (semi-transparent light border) |
107 | | -- **Line 58**: `placeholder-color: #f5f5f5;` (light placeholder) |
108 | | - |
109 | | -**Migration Priority**: Medium |
110 | | -**Notes**: These colors are used for the main application launcher. Should use smart-colors background/foreground with opacity. |
111 | | - |
112 | | -#### `riceselector.rasi` |
113 | | -- **Line 25**: `background-color: #1a1e2475;` (semi-transparent dark) |
114 | | - |
115 | | -**Migration Priority**: Low |
116 | | -**Notes**: Rice selector theme, less frequently used. |
117 | | - |
118 | | -#### `riceselector-enhanced.rasi` |
119 | | -- **Line 15**: `background-color: rgba(30, 30, 46, 0.95);` (dark background) |
120 | | -- **Line 28**: `background-color: rgba(0, 0, 0, 0.2);` (semi-transparent black) |
121 | | -- **Line 140**: `background-color: rgba(255, 255, 255, 0.05);` (semi-transparent white) |
122 | | - |
123 | | -**Migration Priority**: Low |
124 | | -**Notes**: Enhanced rice selector, uses rgba format. |
125 | | - |
126 | | -### 2. Kitty Terminal |
127 | | -2026-02-23 |
128 | | -**Location**: `home/dot_config/kitty/kitty.conf` |
129 | | - |
130 | | -**Status**: ✅ Migrated |
131 | | - |
132 | | -**Completed**: |
133 | | -- Replaced hardcoded hex literals with tokenized values from `colors.rasi` |
134 | | -- Runtime pipeline now prioritizes `~/.cache/dots/smart-colors/colors-rofi.rasi` |
135 | | - |
136 | | -**Status**: ✅ Migrated |
137 | | - |
138 | | -**Completed**: |
139 | | -- Replaced hardcoded overlay hex with tokenized background |
140 | | -3. Reference pywal colors or smart-colors variables |
141 | | -**Status**: ⚠️ Pending |
142 | | - |
143 | | -**Remaining Debt**: |
144 | | -- Uses static `rgba(...)` values for overlays and surfaces |
145 | | - |
146 | | -**Migration Priority**: Medium |
147 | | -**Notes**: Keep profile identity, but map rgba overlays to semantic token-based equivalents. |
148 | | -**Status**: ✅ Already using smart-colors |
149 | | -**Status**: ✅ Migrated |
150 | | - |
151 | | -**Completed**: |
152 | | -1. `kitty.conf` now includes `~/.cache/dots/smart-colors/colors-kitty.conf` |
153 | | -2. `dots-smart-colors --generate` emits `colors-kitty.conf` |
154 | | -3. `dots-wal-reload` now prefers smart kitty colors with pywal fallback |
155 | | - |
156 | | -**Notes**: Static palette remains as fallback values in config, but smart-colors is now first-class. |
157 | | -### 5. EWW Widgets |
158 | | -**Status**: ✅ In Progress (major debt reduced) |
159 | | -**Completed**: |
160 | | -- Calendar hardcoded hex values removed from default/top and profile configs |
161 | | -- Profile color aliases migrated to smart tokens in `retro-wave`, `cozy-minimal`, and `floating-neon` |
162 | | -- `dots-wal-reload` now links smart `colors-waybar.css` into all profile directories |
163 | | - |
164 | | -**Remaining Debt**: |
165 | | -- Some intentionally profile-specific `rgba(...)` aesthetic overlays remain |
166 | | -**Location**: `home/dot_config/eww/` |
167 | | -**Status**: ✅ In Progress |
168 | | -**Completed**: |
169 | | -- Replaced key hardcoded dashboard hex colors with semantic smart tokens (`$error`, `$info`, `$foreground`, `$background-alt`) |
170 | | - |
171 | | -**Remaining Debt**: |
172 | | -- Additional profile/style files may still contain non-tokenized `rgba(...)` stylistic values |
173 | | -**Status**: ✅ Already using smart-colors |
174 | | -### Priority 1: Rofi Enhanced Theme (High) |
175 | | - |
176 | | -**Rationale**: Main Rofi themes are migrated; `riceselector-enhanced.rasi` still has static overlays. |
177 | | - |
178 | | -**Location**: `home/dot_config/mako/` |
179 | | -1. Replace static `rgba(...)` overlays with semantic tokenized values |
180 | | -2. Keep opacity behavior while sourcing base colors from smart tokens |
181 | | -3. Validate readability in light/dark palettes |
182 | | -## Migration Recommendations |
183 | | -### Priority 2: Waybar & EWW Residual `rgba(...)` Debt (Medium) |
184 | | -include ~/.cache/dots/smart-colors/colors-kitty.conf |
185 | | -**Rationale**: Hex debt is largely removed; remaining effort is normalizing static rgba overlays where appropriate. |
186 | | -# Generated colors-kitty.conf would contain: |
187 | | -foreground ${COLOR_FOREGROUND} |
188 | | -1. Audit remaining profile-specific overlays in Waybar/EWW |
189 | | -2. Convert to token+opacity equivalents where visual identity is preserved |
190 | | -3. Keep explicit exceptions documented for intentionally static brand accents |
| 17 | +```bash |
| 18 | +dots wal-reload |
191 | 19 | ``` |
192 | | -### Priority 2: Rofi Themes (Medium) |
193 | | -**Rationale**: This document and related wiki pages should match current implementation state. |
194 | | -**Rationale**: Application launcher is visible frequently, but less critical than terminal. |
195 | | -
|
196 | | -- Update examples to token-first configuration |
197 | | -- Remove obsolete hardcoded-line references that are already fixed |
198 | | -1. Extend `dots-smart-colors` to generate Rofi color variables |
199 | | -2. Update Rofi theme files to use variables instead of hardcoded colors |
200 | | -3. Handle opacity/transparency appropriately |
201 | | -4. Test with various themes |
202 | | -
|
203 | | -**Challenges**: |
204 | | -- Rofi themes use CSS-like syntax but don't support all CSS features |
205 | | -- Opacity handling may require rgba() format |
206 | | -- Need to ensure compatibility with Rofi's theme system |
207 | | -
|
208 | | -### Priority 3: Rice Selector Themes (Low) |
209 | | -
|
210 | | -**Rationale**: Less frequently used, lower priority. |
211 | 20 |
|
212 | | -**Implementation Steps**: |
213 | | -- Similar to Priority 2, but can be done after main Rofi themes |
| 21 | +This command regenerates Smart Colors and requests Quickshell color reload. |
214 | 22 |
|
215 | | -## Implementation Notes |
| 23 | +## Hard-Cut Notes |
216 | 24 |
|
217 | | -### Smart-Colors Integration Points |
| 25 | +- Legacy Waybar/EWW/Rofi-focused migration items were removed from active audit scope. |
| 26 | +- This audit tracks only maintained integration paths. |
218 | 27 |
|
219 | | -1. **Color Generation**: Extend `dots-smart-colors --generate` to create: |
220 | | - - `colors-kitty.conf` |
221 | | - - `colors-rofi.sh` (environment variables) |
222 | | - - Or direct theme file updates |
| 28 | +## Verification Checklist |
223 | 29 |
|
224 | | -2. **Theme Detection**: Ensure smart-colors detects light/dark themes correctly for all applications |
225 | | -
|
226 | | -3. **Fallback Handling**: Maintain fallback colors if smart-colors generation fails |
227 | | -
|
228 | | -### Testing Requirements |
229 | | -
|
230 | | -- Test with light themes |
231 | | -- Test with dark themes |
232 | | -- Test with various wallpaper colors |
233 | | -- Verify opacity/transparency rendering |
234 | | -- Ensure readability and contrast |
235 | | -
|
236 | | -## Future Considerations |
237 | | -
|
238 | | -- **Other Applications**: Consider auditing other applications (e.g., Alacritty, Foot) if they become part of the stack |
239 | | -- **Dynamic Updates**: Ensure colors update when wallpapers change via `dots-wal-reload` |
240 | | -- **Performance**: Monitor any performance impact of color generation |
241 | | -
|
242 | | -## References |
243 | | -
|
244 | | -- [Smart Colors Documentation](wiki/Smart-Colors-System.md) |
245 | | -- [Development Standards](Development-Standards.md) |
246 | | -- [Kitty Configuration](https://sw.kovidgoyal.net/kitty/conf.html) |
247 | | -- [Rofi Theme Format](https://github.com/davatorium/rofi/blob/next/doc/rofi-theme.5.markdown) |
| 30 | +```bash |
| 31 | +dots-smart-colors --generate --m3 |
| 32 | +ls -la ~/.cache/dots/smart-colors/ |
| 33 | +dots-quickshell ipc colours reload |
| 34 | +``` |
0 commit comments