AvengeMedia / AvengeMedia/DankMaterialShell

Feature: let dock app icons resolve from a specific icon-theme size bucket (e.g. 24/24@2x), decoupled from the rendered dock size

Open
#2,722 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
QML
Stars
8.1k
Forks
515
Avg merge
1d 9h
Merged PRs (30d)
97

Description

### Feature Description

### Summary

Add a way to control which icon-theme size bucket DMS uses when loading dock app
icons, independent of the rendered dockIconSize. Some icon themes intentionally ship
different app-icon designs per size, and DMS/Qt currently always resolves the
large/color bucket, so those themes can't render as intended in the dock.

### Background: the theme ships different designs per size

Gruvbox-Plus-Dark provides two distinct app-icon designs depending on the size bucket:

- apps/16, apps/22, apps/24, apps/24@2x → simplified cream / monochrome glyphs
- apps/32, apps/48, apps/scalable → full-color logos

Evidence (same icon, different design): firefox.svg has 2 distinct fill colors in
apps/24 vs 9 in apps/scalable. apps/24@2x is a symlink → apps/16.)

This is intentional by the theme author, and mirrors how the same theme behaves on
KDE/Plasma, where the icon size/scale can select the smaller cream/mono app icons.

### What I want

Dock app icons that load from the small bucket (ideally apps/24@2x) while still
rendering at a comfortable dock size — i.e. decouple the icon lookup size from the
rendered size.

### Environment

- DankMaterialShell 1.4.6
- Quickshell 0.3.0
- niri 26.04
- Icon theme: Gruvbox-Plus-Dark
- Display: 1920x1080, scale 1.25
- dockIconSize: 35

### Current behavior

DMS/Qt resolves dock icons to the color 48/scalable bucket. In my testing, neither
of the obvious levers changes which bucket is chosen:

- dockIconSize swept 18 → 35: always color
- display scale 1.25 and 2.0: always color

So there appears to be no way to make the dock use the theme's smaller cream/mono icons.

### Proposed solution

A separate lookup-size setting, e.g.:

dockIconLookupSize: 24 # size used for the icon-theme lookup (asset selection)
dockIconSize: 35 # rendered/displayed size

so DMS renders the icon at 35 but loads the 24 / 24@2x asset.

### Question

Is there already a supported way to force the icon lookup size / source bucket
(independent of rendered size)? If not, would an option like dockIconLookupSize be
feasible? It would let per-size icon themes (Gruvbox-Plus-Dark and similar) behave in
the DMS dock the way they do under KDE/Plasma.

### Use Case

_No response_

### Compositor(s)

All compositors

### If Other, please specify

_No response_

### Proposed Solution

_No response_

### Alternatives/Existing Solutions

_No response_

Contributor guide

Open the contributing guide

Research direction

No source file, test, or entry point is named. Trace the dock app-icon loading path and the Qt icon-theme resolution behavior first; done means a separate lookup-size setting selects the requested theme bucket while the dock still renders at dockIconSize, with the behavior verified for the described 24/24@2x case.

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
52/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.