Wine in Tango
Francois Gouget
fgouget at free.fr
Mon Sep 21 08:59:16 CDT 2009
On Mon, 21 Sep 2009, Ralf Jung wrote:
[...]
> If wine should integrate well with the surrounding Linux desktop, why
> don't you use the desktop icon set where possible?
Because on Windows the icons are stored as resources in the dlls. So
Windows applications and dlls use the same generic API for loading their
private resources, as well as the Windows resources.
So to implement what you want, the LoadIcon() function in user32.dll
would need to know about the icons stored in shell32.dll, crypt32.dll,
etc, and what KDE, Gnome or XFce icon to replace them with. That would
break the dll separation principle.
Maybe theming provides a way to replace these icons. If so, then that
would be the way to go. Otherwise we may invent our own way of doing so,
like storing special 'remapping' resources that would tell LoadIcon() to
replace a given icon with one from outside the dll. That would still
require quite a bit of work: we cannot return a PNG icon to the
application, it would need to be converted to ico format, and (probably)
with the various sizes and depths collated together, etc. We'd also have
to hack the data returned by FindResource() & co to take these
remappings into account. That could get ugly pretty quick.
--
Francois Gouget <fgouget at free.fr> http://fgouget.free.fr/
Demander si un ordinateur peut penser revient à demander
si un sous-marin peut nager.
More information about the wine-devel
mailing list