Call for participation: an ubuntu default theme lead by the community?

the script may not match the quality of a manual icon, it would be better if jaggers design the icons manually and then look for approval
iconos de terceros

golang implementation of imagemagick APIs looks promising and more configurable. This is just a first raw attempt and it’s way better than PIL



IMHO, at that point, if Yaru starts shipping random 3rd party icons it might as well become a universal icon theme like Paper or Numix, then you might as well run automated scripts locally and ship the generated icons to users directly. (Which I suspect is in the scope of this project.)

Not related to the icons stuff, but I thought I would mention it anyway:

Gnome-terminal is going to get proper headerbars for GNOME 3.32 (with tabs displayed within the headerbar):

I guess that even a hamburger menu is possible then:

(shot taken from )

If @3v1n0 is able to refactor his Ambience patch for the scrollbars, it will finally look and behave like a normal GTK3 app.


@c-lobrano @Eskander, here’s a thought.

I took the source svg of the Help icon (because I like the gradient), desaturated all the colours, and removed the pictogram. That leaves this:


My thinking is that when you colorize it, you get edging (highlights, border, etc.) that’s 100% consistent with the Suru icons at all sizes. It’s essentially a greyscale template for a Suru squircle in any colour:



If I provide pngs of the five greyscale squircles, might this be something that can be incorporated into the script for “maximum Suru”?


To colorize the squircles I’m using a simple method that replaces X-color with Y-color. That’s why I was searching for a #FFFFFF squircle yesterday. It’d be ideal if I could apply a tint or a color filter to the whole squircle but sadly I couldn’t find a way to do that with the current tools I’m using. Maybe @c-lobrano can achieve that with golang’s ImageMagick APIs?

Please do. I didn’t realize the squircles were not the same in different sizes. I’ll try the approach you suggested. Please make their opacity 25%

@Eskander sent. That should be all five squircles in 25% opacity white, identical at the pixel level (including margins) to the corresponding Suru squircle. So what you’ll see is all the pngs are in sizes like 256x256, 48x48, etc., but including some space around the edges or at the top/bottom. That should map exactly to the size, shape and position of the Suru icons in each of the five sizes.

EDIT: In terms of tinting the greyscale pngs, if that’s not achievable, then perhaps we could produce a greyscale version with no gradient across the main body of the squircle. In that case it would be a reduced number of colours. Possibly we could do a version with just four or five greys in total: one grey to stand for the main shade, another for the highlight at the top, and a couple of intermediate ones to allow antialiasing around the highlight Then the script could do the x -> y operation on those colours only, adding n brightness to the main shade to derive the others. I guess only experimenting would determine if that produces an attractive result.

1 Like

Should we consider a new Yaru Icon theme thread ?


:rofl: Sounds like a good plan!

1 Like

we do not exactly plan to “ship” them. This is an experiment to put a squircle around the icon when the application is installed, like Unity does/did in the dock.

Using imagemagick, it doesn’t seem to loose definition on recoloring, only when resizing, so having different squircle for all the different sizes would be awesome.

1 Like

That’s exactly why I think manual squirclization (?) should be avoided in this experiment.

I agree. This experiment is for automatization only, however if we end up not reaching a desired quality, we can still release (internally) an CLI application with enough configuration to help manual work


I am not sure if you guys already noticed. The Flatify method adds a flat SVG below the icon. Are we planning the same now ?

I have a pretty noobish question. In Yaru folder on my machine there is a bunch of @2x folders I suppose they’re for HiDPi. How should I treat those? Also in hicolor folder there are other resolutions like 72x72 and 128x128. Is it okay to ignore those in the squirclization process?

as far as I understood, gnome javascript engine (I believe) has a way to generate the appropriate size of the icon, given a small (icon.png) and a big (icon@2x.png) version

Is it okay to ignore @2x resolutions? When I had to resize one white squircle I didn’t give resolutions much thought but now with the differently sized squircles provided by @jaggers shouldn’t we use 10 different squircles? for (256x256, 48x48, 32x32, 24x24, 16x16) and also (256x256@2x, 48x48@2x, 32x32@2x, 24x24@2x, 16x16@2x)

Aha, I forgot about 2x icons :slight_smile:

I tell you what I’ll do, I’ll make every squircle in full greyscale for @c-lobrano and every squircle in 25% opacity white for @Eskander.

If we ignore the 2x version, I think the danger is you get pixellation if someone increases the size of the launcher icons beyond the default size or something, I’m not sure.

Making them now.


@c-lobrano, the greyscale squircles are now with you - I think they will look great tinted in different colours :slight_smile:

@Eskander you should have the white transparent ones pretty imminently. I’m sending you all ten, and the five sizes you already had should be microscopically better in this new set (because of how I did them the first time, a border element was removed from the source svg that left the squircles half a pixel too small in sizes 48px and below, which might translate to a tiny blur when they don’t end at exact pixel boundaries - so this time I will make sure that’s fixed).


With the new squircle and fixing some bugs in my previous script, things are getting better.

Dock is pretty good, however application view has some issues. I think this is due to the fact that some applications don’t have 256px version. For example, gimp has this resolution and it is rendered very well, while firefox has up to 128px only and and it looks blurry. While we can deliver a manually done Firefox icon, since it’s a default app, this must be taken into account for other apps in the same state, like Clementine, GParted, VIM, etc.