Icon theme spec & inheritance
Shaun McCance
shaunm at gnome.org
Mon Jun 18 10:15:11 PDT 2007
On Mon, 2007-06-18 at 17:35 +0200, Oswald Buddenhagen wrote:
> On Sun, Jun 17, 2007 at 05:56:52PM -0700, James Richard Tyrer wrote:
> > Aaron J. Seigo wrote:
> > > On Sunday 03 June 2007, James Richard Tyrer wrote:
> > >> As you said, HiColor needs to inherit KDEClassic, but in GNOME,
> > >> HiColor probably needs to inherit Gnome.
> > >
> > > it doesn't.
> >
> > What doesn't do what?
> >
> oh, c'mon, it's clear that this referred to the last sentence. you are
> unable to state a problem in a few words and aaron is unable to
> split/cut quotes - so what? ;)
>
> this is my summary of the topic. there are three categories of icons
> that need to be considered separately:
> - generic icons
[snip]
> - application menu icons
> - consensus seems to be that every application *has* to ship a hicolor
> icon. yes, even if it is part of a desktop's core module. an
> application that does not provide an icon here does not deserve
> better than being shown as a question mark
When did that consensus come about? Any application that just
uses an icon from Table 2: Standard Application Icons in
http://standards.freedesktop.org/icon-naming-spec/icon-naming-spec-latest.html
should not be required to ship its own icon. In fact, they should
not ship their own version. Otherwise, Yelp and khelpcenter will
both try to install
/usr/share/icons/hicolor/apps/32x32/help-browser.png
And that would be bad.
> - if you have a clash here, you probably have bigger problems
> elsewhere anyway
> - themes providing overrides is possible, but sort of rude
> branding-wise
I suppose it sort of depends on the application. I certainly
don't mind Yelp being rebranded by an icon theme. But then,
Yelp shouldn't have a strong independent identity. If you
don't want your application icon overridden by themes, then
IIRC you can give an absolute path for the Icon key in your
application's .desktop file.
> - private application icons
> - where the app installs its native private icons is completely
> irrelevant
> - if it does not provide private icons it requires it does not deserve
> better than question marks
> - to be able to theme the app's private icons, the app needs to look
> for icons from the configured theme(s) in some standard locations,
> like share/icons/<theme>/apps/<app> or whatever - some ideas were
> brought up in the discussion a year ago.
My recollection is that developers should not install these
anywhere under share/themes. The recommended place for them
is under share/<app>/icons/<theme>. Since these icons only
ever need to be loaded inside your application, it's sufficient
to add this directory to the icon search path within your code.
In GTK+, this is done with gtk_icon_theme_append_search_path.
I'm sure KDE/QT has something equivalent.
> - theming the app's private icons may be rude, too, but otoh the app
> will probably mix standard icons with own icons, so precluding
> theming the private icons makes no sense - unless the app completely
> ignores theming preferences and requires a particular theme.
And if applications really do not want their private icons
overridden by themes, then they shouldn't load those icons
through the icon theme. Developers have the choice here.
> imo, the complete search order of icons should be configurable through
> the theme choice xsetting. the algorithm to calculate this setting from
> the themes explicitly chosen by the user could be the "forward/reverse
> inheritance" i suggested in this thread originally. that way tango (or
> any other theme that claims to be neutral and complete) could simply
> plug the holes in an older desktop's default theme by simply being
> installed/upgraded.
Can't we just get it right? I don't want to see this in
our desktop preferences dialogs:
Icon lookup search order:
(*) Forward
( ) Reverse
( ) WTF?!
--
Shaun
More information about the xdg
mailing list