AvengeMedia / AvengeMedia/DankMaterialShell

Cache matugen color extraction and generated themes per wallpaper

Open
#3,054 0 comments 0 reactions 0 assignees View on GitHub
Enhancement
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.