[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Subject: How to share and maintain a common icon namespace


After writing the icon theme specification (based mainly on the KDE
theme system with some small additions needed for Gnome) I've started
implementing it in Gnome. Initially I just used it for interpreting
the Icon field in desktop files, which was easy. But now we want to
use icon theming in a broader way, and we've stumbled over some

At the core the problem is that the icon name namespace is shared
between KDE, Gnome and other applications. So we can't just pick any
icon names we want and start using them. Chances are that the names
chosen will collide with something else and it will be impossible for
these two apps to share an icon theme.

There are two things that can be done to avoid problems like this. The
first one is to namespace icons that are part of some specific
app/system so that they will not collide with other users. This is
pretty simple, and mainly means we will have to use names like
"gnome-startmenu" or "gnome-help".

The second thing is to decide if and to what extent we should share
icon names so that we can share icons between the different
desktops. We would have to set up some sort of simple registry where
we can add shared icon names and descriptions of what they are used
for. Such a registry would also be nice for theme authors, since they
can use it as a basis for new themes. It doesn't have to be more
complicated than a textfile in cvs somewhere.

Since the icon theme spec is based on the KDE one they already have
parts of the namespace filled. This means that Gnome and other
projects will have to start namespacing their icons when they start
using the new spec. It is my hope that also the KDE team will start
namespacing at least their new icons, so that in the future we may use
non-namespaced names for shared icons.

Deciding on common icons is gonna be pretty hard, since icons that may
be very similar in idea can be used in quite different ways. Even so I
think it should be possible to standardize at least a few of them.

Here are some proposals:

* Application icons
Application icons (as often used in desktop files) should be
namespaced with "app-" so that applications won't overlap future
shared namespace. Examples would be app-mozilla, app-kmail and

* Mimetype icons
When doing the new icon system for Gnome I was thinking of mapping
mimetypes into icon names by prepending "mime-" and replacing '/' with
'-'. So you'd get mime-image-png, mime-text-plain etc.  Mimetype icons
would go in the "MimeTypes" context. If we could agree on this it
would be pretty sweet, because then we could use the same icons for
files even if our mime systems are not the same. And if we all use the
new thumbnail spec we'd share thumbnails too.

* Filesystem, storage device and file type icons
Related to mimetype icons are icons related to filesystems and file
types such as: ext2, FAT, cdrom, floppy, symbolic links, character
devices, sockets, executables. Maybe these could be standardized and
put in the "fs-" namespace.

* Emblems
This may be mostly a Gnome thing, but we have the concept of emblems,
which are small icons you can put on files in the file manager. The
user can create his own emblems and there are a few standard ones
(such as read-only, cant-read, new, urgent etc). I think Konqueror has
a similar concept. If we namespaced these with "emblem-" and put them
in the "Emblems" context other apps could use them too.

* Stock UI icons
This is a really hard one. There are a few generic icons that appear a
lot in the UI. A subset of these could (with some care) be defined in
enough detail that they could be shared between desktops. 
I'm thinking about icons like:
 cut, copy, paste, help, zoom in, zoom out, bold text,
 underlined text, italic text, left-aligned text, centered text,
 right-aligned text, apply, close, find, find+replace, quit, undo,
 save, open
Maybe we can at least standardize a few of these.

Note: I've CCd some KDE people that I hope have some input on
this. (I'm not sure they read xdg-list in detail.)

 Alexander Larsson                                            Red Hat, Inc 
                   alexl redhat com    alla lysator liu se 
He's an otherworldly albino Green Beret trapped in a world he never made. 
She's a man-hating hip-hop Valkyrie with a birthmark shaped like Liberty's 
torch. They fight crime! 

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]