Draw icon shadows depending on the context
We are rolling out a new style of fullcolor icons that is easier to deal with to both graphics designers and application developers. This resulted in some choices that created extra work for us, yay!
- Shadows are not baked into the icons, to allow to draw them depending on the context (small sized icons in, say Settings panel, will benefit from doing an outline stroke rather than a dropshadow, light background will need a prominent shadow to keep contrast). Not having the shadow will allow do create nightly variants of app icons programmatically based on the alpha channel. The GNOME HIG has some examples.
- There are no low res variants of the icons, there is a single app icon.
Most of the time we present app icons at large size and on a darkened background (Shell overview), however there are places where we need to help legibility by rendering a dropshadow.
We are able to draw the dropshadow in gtk+ using the icon-shadow property, but we probably want to avoid drawing the double shadow for legacy style icons. Although personally I'd rather draw the shadow twice and ake the legacy stuff look bad than having illegible new style.
Dropshadows
Here's the options I can think of:
- If the app icon is an SVG, assume it's the new style. Assign a css class to the image element so we can tailor a selector in Adwaita for it.
- Draw CSS shadows for all icons, creating double shadow for old icons.
- Don't draw shadows (current), make the new style feel illegible in many contexts.
Some Contexts
- About Box (128x128?)
- System Settings Notifications, Default apps (32x32)