I want to see what icons are installed and available on my system and by which names I have to refer to them.
How can I get a nicely formatted list of all unique icons (don't show several resolutions separately) that contains the icon name, a preview thumbnail, the location and maybe if possible where it came from (e.g. which icon theme package)?
System: Ubuntu 15.10 Wily Werewolf 64 bit
Desktop: Unity
gtk3-icon-browser is a graphical application to list themed icons.
To this date, it is still under development and available for 15.04 (vivid) and newer releases. Its development can be traced back to this blog post dated 2014.
Quick review based on above screenshots:
The icon browser requires GTK+ 3.13.4 or newer. Install the relevant package
gtk-3-examples
in 15.04 (vivid) or newer releases.First tested in 15.04 (vivid), and latest in 20.04 (focal).
Related sources:
Source code of gtk/demos at master for GNOME/gtk on GitHub.
New icon browser tool for GTK+ developers in development on Fedora Magazine
Mentioned briefly with screenshot in this answer on Ask Ubuntu.
Well, some DEs show this when you try to change the icon of something, but it is quite easy to do it yourself. Just find all icons, make links to them in some directory and browse the directory. The icons of different resolutions will have the same name, what changes is the path. For example:
As you can see above, the general format is
/ParentDir/ThemeName/CLass/Resolution/IconName
. So, since the icon's name is the same, we can avoid duplicates easily by having each link created overwrite any existing links of the same name. However, we do want to jeep the icons from the different themes separate, so that requires a little bit more scripting:The script above will create the directory
~/foo
which will contain links to each of your unique icon files. The-f
option toln
tells it to overwrite existing files with the same name and, since we're using the theme name in the link's name, there should be no duplicates. For example, given theemacs.png
icons shown above, it will create:You can now, browse to
~/foo
and have a look:Then, to get the source packages, you could run: