Common icon themes
Antonio Larrosa Jiménez
larrosa at kde.org
Fri Nov 8 13:35:13 GMT 2002
El Viernes, 8 de Noviembre de 2002 11:00, Alexander Larsson escribió:
> On Fri, 8 Nov 2002, Antonio Larrosa Jiménez wrote:
> > snipped lots of comments
>
> Ok. What about this proposal:
>
> ------------------ Proposal -------------------
>
> We create a package called something like icon-themes-base.tar.gz that
> doesn't depend on anything. It installs (and when packaged, owns)
> $prefix/share/icons/hicolor with the corresponding index.theme and
> subdirs. (This is needed so there won't be any contention about who
> installs these files, and e.g. gnome won't depend on kdelibs to install
> it for them.)
Ok, this icon-themes-base would be a common external dependency.
>
> Then we add the Hidden attribute to the spec, and set that on the
> hicolor theme. We also remove the support for multiple inheritance from
> the spec
>
Ok.
> Then we make the rule for application icons (those referenced by the
> desktop file spec):
> You *must* install an icon in the "hicolor" theme. It can be of any
> sort, but preferably a "neutral" look. Additionally they may install
> icons in any themed directories it want.
>
I'm not sure of this. Does it mean that kde (and gnome) will have to
install their apps icons (let's say konqueror.png or nautilus.png) to
hicolor (so that the other desktop finds it) and to crystalsvg/gnome (to
use the default icon theme of each desktop) ?
1.1) On one hand, if those icons are different, I don't think it makes
sense to mantain two icon themes in kde's cvs nor in gnome's cvs.
1.2)If those icons are the same... well, it's illogical to keep duplicated
icons in hicolor and crystalsvg.
So we have to install app icons only to one place:
2.1) If we install them to hicolor, then we're breaking the whole idea of
icon themes (as most of the crystalsvg's apps icons would be inside
hicolor instead of where they should be in the crystalsvg directory, and
evenmore, action/mime/devices icons would still be in the crystalsvg
directory). That would be a real mess. Think also about kde installing
crystalsvg icons for mozilla into hicolor and gnome installing its own
mozilla icons (with the gnome look) into hicolor. Doesn't make sense
neither.
2.2) That means we should install them to crystalsvg. But then we're back
to the problem that (e.g.) konqueror.png would only be in crystalsvg and
so when gnome's panel finds konqueror.desktop it won't find konqueror.png
because crystalsvg is not in gnome's icon theme list.
Perhaps (rewriting my previous idea), we should use a FORCEICONTHEMES
env. var. that forces each desktop to append those icon themes at the end
of the icon theme list. That way, it can contain
FORCEICONTHEMES=crystalsvg:gnome
and each desktop could remove icon themes which are duplicated in their
respective icon theme list.
Of course, each distribution could set that env. var. accordingly to the
installed packages. Or maybe we should use a config file to store those
things.
In any case, I think 2.2 is the way to go.
> Then we make the Inherits field optional (it actually already is), and
> if it is missing in a theme, then the theme implementation is free to
> pick the final inheritance structure, but it *must* include at least the
> hicolor theme. So, kde would pick "crystalsvg, hicolor" and gnome would
> pick "gnome, hicolor".
Ok.
> and with an external package owning the hicolor theme so that it can be
> shared.
Ok, then I'll commit in the following days an icon-themes-base cvs module
to kde's cvs where we can keep hicolor's out of kdelibs and any other
dependency. Is that ok?
Greetings,
--
Antonio Larrosa Jimenez
KDE core developer - larrosa at kde.org
http://devel-home.kde.org/~larrosa/
The only thing that interferes with my learning is my education.
More information about the kde-core-devel
mailing list