numixproject / numix-core

Builder for App Icon Themes
GNU General Public License v3.0
765 stars 146 forks source link

One Size Doesn't Fit All #2545

Open Foggalong opened 8 years ago

Foggalong commented 8 years ago

Since inception Circle (and other Numix app themes) have used a single 48px icon for all our app icons. Increasingly I'm thinking that this is a bad idea. It makes development quicker but on the whole make for a lower quality product, especially in terms of scaling.

The plan would be to add icons for all the sizes we cover in the base theme. It's a lot of work, but I have another idea which I'll talk about in #2546 which might make this a bit easier.

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

ismaelgv commented 8 years ago

I'm not sure that I'm getting the point here. Do you mean different symbol size depending on icon size or even changing that symbols (p.e. simplificating symbols in small icons)?.

PD: #2546 is not linking to the other thread in your post. :stuck_out_tongue_winking_eye:

Foggalong commented 8 years ago

Just shrinking the entire icon (symbol, baseplate, etc) and making sure as much as aligned to grid as possible. Same as how Moka does :)

palob commented 8 years ago

48px-only definitely isn't ideal but

AFAIK

Do menus (KDE, MATE Mint Menu, Xfce Whisker Menu, Cinnamon Menu) and menu-like widgets(Slingshot...) scale dynamically as well or do they used fixed sizes like 24px, 32px..64px?

We could do simplified redesigns for smaller sizes but as long dynamically scaled icons don't reach exactly 32px or 24 px they will stilly appear blurry.

On a purely practical note: That'd be quite a task.

Foggalong commented 8 years ago

Yeah, regardless of how we go about this it's gonna be a monster task.

But yeah, all those menus use fixed size icons and it's only GNOME afaik that uses scalable in preparation for proper HiDPi support.

ismaelgv commented 8 years ago

What about a magic script that simplifies icons under 32px/24px? For example, an script calling Inkscape in command line mode and executing path simplification over 48px icons.

palob commented 8 years ago

Well, by "simplifying" I was referring to new, less detailed symbol designs for smaller sizes :)

Inkscape's path simplification will just break the design.

ismaelgv commented 8 years ago

I thought at first in simplifiying symbols by hand too. Nevertheless, I think it worth a try for small icon path simplification even if they don't fit design specifications in order to get better results.

palob commented 8 years ago

Speaking of HiDPI, these days I've wondered whether we really need action icons in all sizes. I mean can 16px, 64px and up icons show up in place of a 24px action icon?

palob commented 8 years ago

A path simplification doesn't neccesssarily "simplify" or "streamline" the design. What it does is reducing the number of nodes and smoothing shapes. At any case it won't magically fix grid alignment.

ismaelgv commented 8 years ago

Well, I just don't only refer to path simplification but using Inkscape command line to automate this infernal task. :yum:

palob commented 8 years ago

I'm afraid batch resizing is pretty much all the CLI options can aid in in this case.

ismaelgv commented 8 years ago

We can play some tests, do you remember any small blurry icon?

palob commented 8 years ago

As a matter of fact almost each and every one is blurry at 24px.

palob commented 8 years ago

As simple one with many horizontal/straight lines is shotcut.svg.

ismaelgv commented 8 years ago

Maybe this extension could help us: PixelSnap

palob commented 8 years ago

Looks like worth a try indeed.

ismaelgv commented 8 years ago

There is a bug right now in that extension that have been patched but not released:

palob commented 8 years ago

So it works best with latest git bzr?

ismaelgv commented 8 years ago

There is a manual fix adding to file SVG tag that worked to me: width="100%" height="100%" Fix is commited so I think latest git bzr will be fine.

Edit: Fix is merged in 0.92.x branch

gregorydk commented 8 years ago

Never understood why Numix uses 48px when GNOME uses 96px (you could have double the detail) for program icons. And now with Nautilus 3.16 the mimetype and folder icons are even bigger. Enlarging the icon size is good.

andia89 commented 8 years ago

Enlarging is arguably not the issue. When GNOME uses 96px sized icons 48px sized icons are just as good (svg scales just fine because it is just two times the size). The problem are smaller sizes, because when the 48px icon is scaled down to let's say 32px nothing is aligned to grid, and the icon becomes blurry. This means that it is necessary to have 32/24/22/16px sized app icons as well.

bilelmoussaoui commented 7 years ago

@Foggalong I propose using something like this https://github.com/solus-project/solus-icon-theme/blob/master/src/fullcolor/preferences-system.svg instead of having multiple sizes in the core directory. This can be easily handled by the generation script. Which will allow us to use it for Android icons too...It's the same way used on Adwaita, Paper icons themes. Also, if we can already start using it for new PR to avoid duplicate efforts in the future that would be great

palob commented 7 years ago

Since we've got a baseplate and symbol sizes&positions differ we'd need to store the coordinates for each somewhere. Or the on-baseplate-position is derived from the symbol position inside the all-size SVG but that may be erroe-prone.

Foggalong commented 7 years ago

@bil-elmoussaoui It's the same way for Adwaita, Solus, and Paper because Sam is one of the main developers of all three, and its his build script (originated in Moka iirc) :P

Is there a benefit to doing it that way when your end format is SVG?

bilelmoussaoui commented 7 years ago

@Foggalong Not as far as i know :) was more of a suggestion. But we still can use our way and improve it in the futur !

Foggalong commented 6 years ago

When this is finally addressed, the templates will need a going over to make sure they're actually usable as per #3688.