You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
publishing-requirements: Allow use of single svg icon instead of svg icons for each size #235
We explicit that third-party app developers must provide icons in size of 32px, 48px, 64px, and 128px at least in the publishing requirements:
Your app must install icons to /usr/share/icons/hicolor in 32px, 48px, 64px, and 128px. These are the icon sizes that will be displayed in the Applications menu's search, grid, and category views, Multitasking View, the dock, and in AppCenter.
And we also follow this requirement by ourselves; we provide svg icons in these sizes in our core apps.
However, most of GNOME apps only provide single scalable svg icon instead of svg icons for each size:
Allow use of single svg icon instead of svg icons for each size.
I think developers must still provide icons for each size if in PNG format, but they don't need to provide them if in Scalable Vector Graphics format, unless they want to do so for some reason e.g. detailed design in 128px.
You're supposed to hint your icons to each size. For our icon style it's required to have icons not look blurry. GNOME icons can use a single SVG because it's a very simplified style with no strokes. We still allow people to publish without hinting their icons, most people don't do it. In fact a lot of developers just copy past their same icon to different sizes for some reason even though that doesn't do anything
These are not just a single icon scaled down. They are separate icons which are hinted to be pixel perfect at that size. You'll also notice strokes are 1px at both sizes. Not 2px at 64 or 0.5px at 32 which is what you'd get if you just scaled the same image
Scalable means scalable across display densities—hidpi vs lodipi—not scalable across display sizes
Yeah I think unless we change our icon style to remove the outer stroke that we still need to hint. Which maybe it's worth thinking about since so few developers actually make hinted icons
Activity
danirabbit commentedon May 4, 2025
You're supposed to hint your icons to each size. For our icon style it's required to have icons not look blurry. GNOME icons can use a single SVG because it's a very simplified style with no strokes. We still allow people to publish without hinting their icons, most people don't do it. In fact a lot of developers just copy past their same icon to different sizes for some reason even though that doesn't do anything
danirabbit commentedon May 4, 2025
See for example the music icon at 32px:
Compared to 64px
These are not just a single icon scaled down. They are separate icons which are hinted to be pixel perfect at that size. You'll also notice strokes are 1px at both sizes. Not 2px at 64 or 0.5px at 32 which is what you'd get if you just scaled the same image
Scalable means scalable across display densities—hidpi vs lodipi—not scalable across display sizes
ryonakano commentedon May 5, 2025
Ah, I hadn't understood the reason why we prepare icons for each size…I understand just now. Thank you for your detailed comment!
Should I close this issue as design conflict then?
danirabbit commentedon May 6, 2025
Yeah I think unless we change our icon style to remove the outer stroke that we still need to hint. Which maybe it's worth thinking about since so few developers actually make hinted icons