AvengeMedia / AvengeMedia/DankMaterialShell
Feature Request: Smooth transition for Night Mode toggle
- Dominant language
- QML
- Stars
- 8.1k
- Forks
- 515
- Avg merge
- 1d 8h
- Merged PRs (30d)
- 102
Description
### Feature Description
### Summary
When enabling or disabling Night Mode, DMS currently applies the gamma/color
temperature change instantly. This makes the screen temperature jump feel
visually abrupt.
It would be nice to have a short smooth transition when toggling Night Mode
manually.
### Current Behavior
Night Mode changes the gamma/color temperature immediately when toggled on or
off.
For example, switching between a normal/day temperature like `6500K` and a
night temperature like `4500K` happens instantly.
### Expected Behavior
DMS could interpolate the color temperature over a short duration when Night
Mode is toggled.
Example:
- Night Mode off → on: gradually transition from day temperature to night
temperature
- Night Mode on → off: gradually transition from night temperature back to
day temperature
### Suggested Settings
A configurable transition duration would be useful:
```json
"nightModeTransitionDuration": 500
```
Suggested behavior:
- 0: instant transition, current behavior
- 300-1000ms: smooth but quick transition
- Default: 500ms
### Scope
This could apply at least to manual toggles from:
- Control Center Night Mode tile
- dms ipc call night toggle
- dms ipc call night enable
- dms ipc call night disable
Optionally, it could also apply to scheduled/automatic transitions.
### Motivation
The instant gamma change is noticeable and a bit harsh, especially when
switching between 6500K and 4500K.
Previously, tools like wlsunset supported transition duration with -d
, but using DMS native gamma control is preferable because it
avoids running another service that can conflict with DMS.
### Environment
- DMS version: v1.4.0-405-gdc5636be
- Shell: DMS Shell v1.5-beta
- Compositor: niri
- Night Mode backend: DMS Wayland gamma control
Contributor guide
Research direction
Start with the Control Center Night Mode tile and the `dms ipc call night toggle`, `enable`, and `disable` entry points, then trace them to the DMS Wayland gamma control. Check how scheduled transitions are handled before deciding whether they share the behavior. Done means manual toggles interpolate between day and night temperatures, honor a configurable duration including 0 for instant changes, and use a 500ms default.
Written by the indexing model from the issue text.
Assessment
- Domain
- desktop
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100