RFC: Wine Icons

Roderick Colenbrander thunderbird2k at gmx.net
Fri Nov 14 16:05:13 CST 2008

> On Fri, Nov 14, 2008 at 9:43 AM, Branan Riley <branan at gmail.com> wrote:
> > On Fri, Nov 14, 2008 at 5:54 AM, Joel Holdsworth
> > <joel at airwebreathe.org.uk> wrote:
> >> Hi All,
> >>
> >> I notice that some of Wine's icons have been changed in recent
> releases.
> >> In principle I think updating the icons is a great idea, but right now
> I
> >> gotta say that icons in Wine are a real disaster.
> >>
> >> Take a look here: http://www.airwebreathe.org.uk/icons.png
> >>
> >> This is a screenshot of the shell folder select dialog. Out of those
> >> icons My Documents looks the least broken - with it's wannabe
> 98/ME/2000
> >> styling. Desktop, "/", My Computer and Trash look like they've been
> >> taken from large icons which have shrunk - badly, and with a broken
> >> alpha channel. And the new golden Folder icons look completely out of
> >> place - they bear no resemblance to anything else, they've been scaled
> >> down poorly, they don't look like Windows icons, and they don't fit in
> >> with the Gnome desktop (and I can't imagine they'd look good in KDE or
> >> on Mac either).
> >>
> >> I'd really like for Wine to start using icons from the Tango project,
> or
> >> similar. The purpose of Tango was to create a set of icons that are
> >> clear to see, and look good on Windows, Gnome, KDE, and MacOS. Surely
> >> that's exactly what we want?
> >>
> >> Note that ReactOS is using Tango, and it seems to be working out pretty
> >> well for them!
> >>
> >> Any comments on that?
> >>
> >> Best Regards
> >> Joel Holdsworth
> >
> > The problem with hardcoding Tango is that it won't necessarily match
> > the user's desktop.
> >
> > On Linux and FreeBSD, I'd suggest finding a way to detect the current
> > icon theme (perhaps determine which desktop environment is running,
> > then read the config file for that desktop?) and use the
> > freedesktop.org icon names and the XDG_DATA_DIRS variable to locate
> > the icons. This wouldn't work on KDE3 (which doesn't use the
> > freedesktop spec). In that case I would say fall back to the hicolor
> > icons.
> >
> > On Mac, you should use the native mac icons, but that might not work
> > to do Obj-C issues (I know nothing about mac programming, so maybe
> > there's a way to get native icons without Obj-C?).
> >
> > This way, when theming is implemented, the icons and the theme will
> > both match the user's desktop environment. It's more complicated than
> > just implementing Tango, but visually it makes more sense.
> >
> > Branan
> Thinking about this a bit more, it would require a tool to generate
> the .DLL with the icons we want from the freedesktop spec, in order to
> maintain compatibility with Windows on how system icons are handled.
> This could be done once when the prefix is created, with an option in
> winecfg to re-build the icon DLL.

Recently I posted a sample on how to generate windows themes (.msstyles). These themes also support icons and icons can be added to it. There is a section for them but I haven't really looked at those but it shouldn't be hard. Dlls that use icons should use uxtheme to get access to icons when theming is enabled. For now I think that there should just come some basic color and icon themes. Creating theme files at startup is tricky as either you need to compile them to a .dll (or .dll.so) OR you need an empty dll in which you inject icons which is very evil.

Sensationsangebot nur bis 30.11: GMX FreeDSL - Telefonanschluss + DSL 
für nur 16,37 Euro/mtl.!* http://dsl.gmx.de/?ac=OM.AD.PD003K11308T4569a

More information about the wine-devel mailing list