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
- 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
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