Comment 3 for bug 1638353

Revision history for this message
su_v (suv-lp) wrote :

AFAIU 'gtk-preferences' is a deprecated stock icon name and should not be used anymore. It is not provided out-of-the-box by the default icon theme for GTK3 (Adwaita).

«The “Preferences” item and icon.

Deprecated since version 3.10: Use named icon “preferences-system” or the label “_Preferences”.»

https://developer.gnome.org/gtk3/stable/gtk3-Stock-Items.html#GTK-STOCK-PREFERENCES:CAPS
https://lazka.github.io/pgi-docs/#Gtk-3.0/constants.html#Gtk.STOCK_PREFERENCES
https://git.gnome.org/browse/gtk+/tree/testsuite/gtk/check-icon-names.c?h=gtk-3-22#n51

It is not listed in the icon naming spec either:
https://specifications.freedesktop.org/icon-naming-spec/latest/
https://developer.gnome.org/icon-naming-spec/

Some icon themes may include it (as symbolic link, or as separate icon), others only provide it if the tool 'icon-naming-utils' from the tango project («A script for creating a symlink mapping for deprecated icon names to the new Icon Naming Specification names, for desktop icon themes.») is used to create a symbolic link (to 'preferences-desktop'):

Snippet from icon-naming-utils/legacy-icon-mapping.xml:

 <icon name="preferences-desktop">
     <link>gnome-control-center</link>
     <link>gnome-settings</link>
     <link>gtk-preferences</link>
     <link>redhat-preferences</link>
     <link>kcontrol</link>
     <link>xfce4-settings</link>
 </icon>

Note that current stable inkscape 0.92.x won't expose either name as missing icon because the icons.svg file in stable includes a copy of the GTK2 stock item (added for bug #1269698), with id references by both icon names ('preferences-system', 'gtk-preferences').

With current GTK3 trunk builds however, the icon with the id 'gtk-preferences' may be shown as missing (it is not provided by Adwaita itself, the default icon theme for GTK3), as happens with current builds on Windows based on inkscape-devlibs64, and with Eduard Braun's MSYS2 builds (which use up-to-date upstream versions of the dependencies). If the commit based on this report is reverted (r15202), the icon is shown as expected (and as provided by Adwaita) with GTK3-based trunk builds.

Proposing to revert the change in GTK3-based trunk, or to at least consult with upstream GTK+ about future usage/support of icon names from deprecated stock items, and any upstream recommendations for GTK3-based apps to achieve optimal cross-platform and cross-desktop support.