AvengeMedia / AvengeMedia/DankMaterialShell
Cache matugen color extraction and generated themes per wallpaper
- Dominant language
- QML
- Stars
- 8.1k
- Forks
- 515
- Avg merge
- 1d 8h
- Merged PRs (30d)
- 102
Description
### Feature Description
Currently, DankMaterialShell recomputes matugen color schemes every time a wallpaper is applied. When you switch wallpapers or use wallpaper cycling, DMS runs the matugen CLI process to re-extract palette colors and rebuild app templates from scratch, even if that wallpaper was parsed minutes ago. This creates brief CPU spikes and delays theme transitions on wallpapers that have not changed.
### Use Case
Reduces cpu spikes whenever a wallpaper changges
### Compositor(s)
All compositors
### If Other, please specify
_No response_
### Proposed Solution
Add a simple cache for the results of the matugen run mapped to maybe the hashes of the wallpapers
### Alternatives/Existing Solutions
_No response_
Contributor guide
Research direction
Start by tracing wallpaper application and cycling to the code that invokes the matugen CLI and rebuilds app templates. Check how wallpaper identity can be determined and where extracted colors and generated themes are held. Done means repeated use of an unchanged wallpaper reuses cached results, while changed wallpapers still regenerate themes.
Written by the indexing model from the issue text.
Assessment
- Domain
- desktop, performance
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100