On Fri, Nov 14, 2008 at 9:43 AM, Branan Riley branan@gmail.com wrote:
On Fri, Nov 14, 2008 at 5:54 AM, Joel Holdsworth joel@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.
Roderick