AvengeMedia / AvengeMedia/DankMaterialShell

Feature Request: Smooth transition for Night Mode toggle

Open
#2,291 0 comments 2 reactions 0 assignees View on GitHub
feature request
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

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.