Skip to content

Replace Adjustment and Effects menu icons with GTK icons#2102

Merged
cameronwhite merged 22 commits into
PintaProject:masterfrom
yioannides:menu1
Apr 14, 2026
Merged

Replace Adjustment and Effects menu icons with GTK icons#2102
cameronwhite merged 22 commits into
PintaProject:masterfrom
yioannides:menu1

Conversation

@yioannides
Copy link
Copy Markdown
Contributor

As previously discussed in #1428 (comment), it would be good to eventually replace all custom icons with icons that follow the same Adwaita design language and guidelines, either by the official team or the community.

The adjustments-brightnesscontrast-symbolic.svg comes from Adwaita's icon library and effects-default-symbolic.svg comes from GIMP's icon repo and chosen for its ubiquity in the GNOME/FOSS community, as previously discussed (I double-checked the icon license and we're all clear).

Updated attribution formatting and added GIMP icons source.
Copy link
Copy Markdown
Contributor

@pedropaulosuzuki pedropaulosuzuki left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(edited) - This one went without the comments, my bad.

Copy link
Copy Markdown
Contributor

@pedropaulosuzuki pedropaulosuzuki left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just be careful with deleting/replacing these icons, as they are used elsewhere. For example:

image Image

It would be better to add these new icons and then change their names and references in the code too.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

And this one is used for the Feather Object effect

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I see yeah, we can merge them for now and make sure I include two new icons for Feather Object and Brightness/Contrast in the next PR, as well as the icon reference in the code.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So sorry for the delay, how does it look now? It took me a very long time to find where the effect names were declared and didn't realize some weren't even declared (this is my first time contributing code on this project, sorry for my messy commit pattern)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This one is used for Brightness/Contrast

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This one's coincidentally fine, but I'd prefer using GNOME's sun symbolic for brightness and most of all, avoid icon use overlap at all costs.

@yioannides
Copy link
Copy Markdown
Contributor Author

Phew, so sorry for my messy commits, I'm still learning! I added all the new icons in a new symbolic/actions/ directory, I hope that's okay now.

@cameronwhite
Copy link
Copy Markdown
Member

I can do some debugging of this later, but there were some issues with icons either not loading, or not being re-colored, when I did a quick test on macOS

icon_issues

@yioannides
Copy link
Copy Markdown
Contributor Author

At least the new symbolic folder is picked up in some capacity, not sure about the missing icon or re-coloring...

@cameronwhite
Copy link
Copy Markdown
Member

Ah, the effects-default is picked up because there are two copies of it, one under scalable and one under symbolic. So I don't think the symbolic folder is being picked up at all

My best guess is because the hicolor theme only defines the scalable folder, except for symbolic/apps (https://gitlab.gnome.org/GNOME/gtk/-/blob/main/gtk/icons/hicolor.index.theme), so I'm not sure if this folder change will actually be doable?

@yioannides
Copy link
Copy Markdown
Contributor Author

If I understand correctly, are the icons being sourced here?

<Project Sdk="Microsoft.NET.Sdk">
<ItemGroup>
<Content Include="icons/hicolor/*/*/*">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
</ItemGroup>

There are some libadwaita apps have their status and actions paths outside of hicolor (like data/icons/scalable/), whereas data/icons/hicolor/scalable/apps/ and data/icons/hicolor/symbolic/apps/ path only contain the desktop apps.

We could either modify the source path for the icons or we could keep using the current scalable folder and scratch the symbolic folder idea, I'm just not sure how @pedropaulosuzuki will go about recoloring icons per icon-basis. I don't mind either way!

@pedropaulosuzuki
Copy link
Copy Markdown
Contributor

We could either modify the source path for the icons or we could keep using the current scalable folder and scratch the symbolic folder idea, I'm just not sure how @pedropaulosuzuki will go about recoloring icons per icon-basis. I don't mind either way!

In my mind we would use CSS variables to inject the colors into the SVGs, and change those variables at runtime (hopefully globally, and not per icon 😵‍💫), which I hope is possible independent of the file locations.

Also, from a small test I did a while ago, icons without the -symbolic suffix were not being repainted as symbolic, so I'd argue for us to always keep the extension on the symbolic icons, independent of file location.

@yioannides
Copy link
Copy Markdown
Contributor Author

(hopefully globally, and not per icon 😵‍💫)

What I meant is that not all icons will qualify for coloring, as explained here

so I'd argue for us to always keep the extension on the symbolic icons

I agree, hence the symbolic and scalable directory discourse, as well as not being sure whether it's customary for colored symbolic icons getting the -symbolic suffix or not.

Anyway, I will move everything to scalable for the time being, so we can move forward.

@yioannides
Copy link
Copy Markdown
Contributor Author

I hope it's okay now!

@cameronwhite
Copy link
Copy Markdown
Member

cameronwhite commented Apr 14, 2026

Thanks! The only issue I noticed is that the effects icon looks kinda small - I think this might be a similar issue to #2078 with GTK 4.22 so I can try making a similar fix

fx_icon

edit: fixed!
fx_icon_2

The nested and transformed groups seemed to be problematic and caused odd scaling issues.
@cameronwhite cameronwhite merged commit 7c95521 into PintaProject:master Apr 14, 2026
6 checks passed
@yioannides
Copy link
Copy Markdown
Contributor Author

It could be also because the menu icons are using a non-standard 24x24 resolution, but good to know of that GTK 4.22 bug!

For the sake of uniformity, I will eventually convert all menu icons to a 16x16 resolution, especially if we go through with the File hamburger + menu bar: #1428 (comment)

@yioannides yioannides deleted the menu1 branch April 14, 2026 11:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants