Are the GUI icons forcibly defined as monochromatic, or do the SVG files need something less obvious than the color itself to be edited (in inkcape)?

While I do like “flat” icons, color helps to make them more immediately distinct than each other, and thus less likely for neighbor icons to be clicked accidentally (like “lock alpha” for the eraser or colorize and vice-versa, times three), so I tried to just edit those icons for my personal use.
I’ve edited them on Inkscape, saved them, but MyPaint’s GUI still exhibits them as monochromatic.

They’re actually the ones I’ve edited, as I did one minor tweak besides coloring, so I’m sure it’s not simply that I just saved them in the wrong place.

Is there something on the SVG’s own code that needs to be edited for them to be displayed in color, or is MyPaint “forcing” them to be displayed monochromatically?

If it’s something on MyPaint, is it something that I can tweak on the decompressed appimage file? (I’m doing all this on an appimage release).

BTW, maybe that’s too unrelated, but I just remembered it seems that MyPaint is also forcing the GUI interface to be dark, unless I explicitly run the appimage in a command along the lines of “env GTK3_THEME=mylighttheme mypaint.appimage.” But to be honest, I’m not sure my environment variables are properly set, even though MyPaint seems to be the odd one out in this regard.

I believe at least the Adwaita theme only makes use of the alpha of the svgs to render the icons differently in dark/light modes (could be wrong, but it seems like that’s the case).

As for the forcing of Gtk themes, that is an appimage-specific thing (necessary to have it look correctly in pre-gtk3.12 environments, like Ubuntu 14.04), but you can override it by using the GTK_THEME envvar instead of GTK3_THEME (googling for that one doesn’t turn up anything, should it work?).

Edit: Oh, and the appimage uses bundled Gtk 3.22 libraries, so your theme has to be compatible with that version if you want to use the extracted appimage.

1 Like

Thanks. The theme I’m using in MyPaint (maybe also other GTK3 stuff) is an edited (with “oomox”) Numix, edited so it’s much more compact than Adwaita or default Numix. It works with MyPaint, as long as I explicitly use the “env” command with the proper variable. It used to be, not long ago, that MyPaint would just “inherit” the same theme (and its light colors) without needing to do it. But maybe I’ve changed something on my own configurations, in a way that seem to affect just MyPaint, or some less directly related upgrade forced a different way of setting up environment variables.

Is this “handling” of the icons something defined in the style’s CSS or the other config file, or is there something deeper, in binaries or something?

My understanding is that the default theme and its resources were embedded in the binaries (for performance reasons) at some later point in the 3.x releases, though maybe as early as 3.14 (not sure).

I’m afraid I don’t really know much about Gtk themes and how they work. I only pursued it enough to get the styling to work in the appimage, though I did test to make sure that the theme could be overridden by other 3.22-compatible themes. It should spit out a bunch of warnings when run with an incompatible theme overriding the default.

1 Like

I don’t get how they work either, but I’ve found a way to cheat the system: copying GIMP’s legacy theme PNG icons (the colored theme I’m used to) into MyPaint’s SVG icons makes them show up, colored. The end result is even more satisfying than just coloring them similarly, which was my original idea.
Fortunately I’ve tweaked the appimage so that the icon folder is really a symlink to my user’s icon folder, so I can do these icon tweaks more or less randomly as I feel like it, not needing to recompress the appimage every time. Of course it will only work on my computer, but I wasn’t planning to use it elsewhere anyway.

I’ll eventually see just out of curiosity if the same trick is possible in Krita, even though I’ve not been using it. I just think that in the whole FOSS world ideally we’d be supposed to be able to do this kind of tweaking more easily and freely. It would be great to have a uniform set of icons in similar tools, tools that deal with the same kind of thing. Also keyboard shortcuts and all that. Sparing precious brain cells.