AvengeMedia / AvengeMedia/DankMaterialShell
Settings Toggle for regenerating theme with matugen on start
- Dominant language
- QML
- Stars
- 8.1k
- Forks
- 515
- Avg merge
- 1d 8h
- Merged PRs (30d)
- 102
Description
### Feature Description
An option (Under Personalization > Theme & Colors > (NEW) Startup Behavior) to allow the user to choose between setting the theme on startup and waiting for an explicit change to the theme.
Label: Generate Theme on Startup
Type: toggle (boolean)
Default state: `true` (matches current behavior).
### Use Case
Some users (myself included) may have heavy matugen pre/post-hooks which do not need to run every time they log in to their machine. And unless the wallpaper file was changed on disk since the last time it was selected, the generated theme is not going to meaningfully change.
### Compositor(s)
All compositors
### If Other, please specify
_No response_
### Proposed Solution
A setting needs to be added to track this state, then the guard in `quickshell/Common/Theme.qml:155` can be extended to include it:
```qml
if (!matugenAvailable || isGreeterMode) {
return;
}
```
becomes
```qml
if (!matugenAvailable || isGreeterMode || (typeof SettingsData !== "undefined" && !SettingsData.generateThemeAtStartup) {
return;
}
```
### Alternatives/Existing Solutions
_No response_
Contributor guide
Research direction
Start with quickshell/Common/Theme.qml:155 and trace the existing settings under Personalization > Theme & Colors. Add the Startup Behavior toggle named “Generate Theme on Startup,” with a default of true, and verify that disabling it prevents theme generation at startup while explicit theme changes still work.
Written by the indexing model from the issue text.
Assessment
- Domain
- desktop
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 68/100