Skip to content

feat(media): add toggle for album art accent colors (#2831)#2832

Merged
Purian23 merged 3 commits into
AvengeMedia:masterfrom
hthienloc:feat/media-player-system-colors
Jul 12, 2026
Merged

feat(media): add toggle for album art accent colors (#2831)#2832
Purian23 merged 3 commits into
AvengeMedia:masterfrom
hthienloc:feat/media-player-system-colors

Conversation

@hthienloc

@hthienloc hthienloc commented Jul 12, 2026

Copy link
Copy Markdown
Member

Description

Adds a toggle in Settings > Media Player to switch between system theme colors and album-art-extracted accent colors for the media player UI.

Default: Off (uses system Theme.primary for visual consistency with the rest of the shell).
When on: Extracts accent color from the current track's album art via ColorQuantizer and applies it to player buttons, seekbar, album art border, and visualizer blob.

Files changed:

  • Services/MediaAccentService.qml — Restored ColorQuantizer logic, gated behind SettingsData.mediaUseAlbumArtAccent. Always returns Theme.primary / Theme.onPrimary when the toggle is off.
  • Common/SettingsData.qml — Added mediaUseAlbumArtAccent: false
  • Common/settings/SettingsSpec.js — Added mediaUseAlbumArtAccent: { def: false }
  • Modules/Settings/MediaPlayerTab.qml — Added SettingsToggleRow

Type of change

  • Bug fix (non-breaking change that fixes an issue)
  • New feature (non-breaking change that adds functionality)
  • Breaking change (fix or feature that changes existing behavior)
  • Refactor / internal cleanup
  • Documentation
  • Other

Related issues

Closes #2831

Screenshots / video

N/A

Checklist

  • My code follows the conventions in CONTRIBUTING.md
  • I have tested my changes locally
  • New user-facing strings are wrapped in I18n.tr() with translator context, reusing existing terms where possible
  • Go changes: ran make fmt, added/updated tests, make test passes, and go mod tidy is clean
  • QML changes: ran make lint-qml with no new warnings
  • I have opened a corresponding pull request in dlx-docs to document any new behaviors: https://github.com/AvengeMedia/DankLinux-Docs

Closes AvengeMedia#2831

Removes ColorQuantizer-based album art accent extraction from
MediaAccentService. All accent properties now return Theme.primary
and Theme.onPrimary directly, so the Dank Dash player always
matches the system colour scheme.

Blame: ee6f7b4 (introduced MediaAccentService & ColorQuantizer)
       d799175 (tweaked seekbar accent colours)
       a62ae33 (further integrated accent into player/album art)
       c44ffae (monochrome art edge case fixes)
@Purian23

Copy link
Copy Markdown
Collaborator

Hey @hthienloc, this move was intentional by our team, not a bug. At this stage, rather than revert it, I think we can add an option toggle to follow primary theme or follow album art themes.

@hthienloc

Copy link
Copy Markdown
Member Author

@Purian23 I can implement the toggle with default set to follow primary theme to maintain visual consistency, and users who prefer dynamic album art accents can opt in.

@hthienloc hthienloc changed the title fix(media): use system colours in player instead of album cover accent (#2831) feat(media): add toggle for album art accent colours (#2831) Jul 12, 2026
Adds mediaUseAlbumArtAccent setting (default: off) to Settings.
When enabled, MediaAccentService extracts accent from album art
via ColorQuantizer. When disabled, uses Theme.primary.
Toggle is in Settings > Media Player.
@hthienloc hthienloc force-pushed the feat/media-player-system-colors branch from d28b942 to 25b5c65 Compare July 12, 2026 01:57
@Purian23

Copy link
Copy Markdown
Collaborator

@Purian23 I can implement the toggle with default set to follow primary theme to maintain visual consistency, and users who prefer dynamic album art accents can opt in.

That sounds okay by me. I'm indifferent on either option. We may need a default migration path, I haven't looked.

@hthienloc hthienloc changed the title feat(media): add toggle for album art accent colours (#2831) feat(media): add toggle for album art accent colors (#2831) Jul 12, 2026
@Purian23

Copy link
Copy Markdown
Collaborator

@hthienloc good to go?

@hthienloc

Copy link
Copy Markdown
Member Author

I think so. You can merge it now.

@Purian23 Purian23 merged commit e2b3a2e into AvengeMedia:master Jul 12, 2026
1 check passed
dank-shell-app Bot pushed a commit that referenced this pull request Jul 12, 2026
* fix(media): use system colours in player instead of album cover accent

Closes #2831

Removes ColorQuantizer-based album art accent extraction from
MediaAccentService. All accent properties now return Theme.primary
and Theme.onPrimary directly, so the Dank Dash player always
matches the system colour scheme.

Blame: ee6f7b4 (introduced MediaAccentService & ColorQuantizer)
       d799175 (tweaked seekbar accent colours)
       a62ae33 (further integrated accent into player/album art)
       c44ffae (monochrome art edge case fixes)

* feat(media): add toggle for album art accent colours (#2831)

Adds mediaUseAlbumArtAccent setting (default: off) to Settings.
When enabled, MediaAccentService extracts accent from album art
via ColorQuantizer. When disabled, uses Theme.primary.
Toggle is in Settings > Media Player.

* fix: use american english spelling (colour -> color)

Port 1.5

(cherry picked from commit e2b3a2e)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Bring back matching the system colours player

2 participants