GTK+ 3.13.3 will include a number of changes to the icon theme handling code. The overarching goal is to simplify the icon handling, and make it possible to use it for theme assets like checkboxes, expander arrows, etc. The main changes that may affect applications are:
1) Icons will be automatically looked up in rtl variants. We append a -rtl suffix to the icon name for this. In particular, rtl variants of symbolic icons are named icon-name-symbolic-rtl. 2) We respect the MinSize and MaxSize limits from icon theme directories when loading scalable icons, and we don't scale icons from Threshold of Fixed type directories. Previously, we were ignoring the directory types and limits and always scaling icons (in particular svgs) to the requested size. The previous behaviour is still available, by specifying the GTK_ICON_LOOKUP_FORCE_SIZE flag when looking up the icon. 3) Functions related to .icon files have been deprecated. This functionality was only used in nautilus, long ago. 4) Symbolic icons are loaded at the same size that their non-symbolic counterparts would be. When loading them, we assume that their original size matches the nominal size of the theme directory we load them from. In particular the last change has the potential to cause some problems for applications that are not careful with the symbolic icons they install. Symptoms that have been observed so far include 1) Giant icons: In the case that I've seen (geary), this was caused by installing symbolic icons into the base directory that is added to the icon theme search path (ie /usr/share/geary/icons). Recommended fix: Install the icons into a proper subdirectory (ie /usr/share/geary/icons/Adwaita/scalable/actions). 2) Tiny icons: In the case that I've seen (baobab), this was caused by installing symbolic svgs of size 16 into the scalable/actions directory of hicolor, which has a nominal size of 128. Recommended fix: Ensure that icons (in particular symbolic icons) match the nominal size of the theme directory they are installed into. Matthias _______________________________________________ gtk-devel-list mailing list gtk-devel-list@gnome.org https://mail.gnome.org/mailman/listinfo/gtk-devel-list