Wine integration with native (Gtk, Qt, Cocoa/Carbon) themes

Reece Dunn msclrhd at
Sat Nov 1 10:06:00 CDT 2008

2008/11/1 Frank Richter <frank.richter at>:
> On 01.11.2008 14:04, Reece Dunn wrote:

>> we could have the msstyles DLL expose the uxtheme API and have
>> uxtheme call msstyles to do the rendering. That way, we could have a
>> gtk.msstyles, qt3.msstyles, qt4.msstyles and an carbon.msstyles
> That sounds like misappropriating the msstyles 'format'. The idea of
> "theming engine plugins" is a good one, but then some other mechanism
> than abusing the msstyles extension should be used to detect these
> plugins. Some ideas: an extension (but a different, unique one), putting
> them into a special directory, listing engines in the registry.
> Anyhow, this is somewhat bikeshedding ;P

:). Your point makes more sense.

> First step would probably be to define a theming plugin API - you say
> that the theming plugins would just export the whole uxtheme API.
> However, it could be possible that the theming plugin interface can be
> simplified compared to that, with uxtheme.dll filling the gaps. (After
> all, a simpler interface can mean a simpler plugin implementation...)

That is a good idea.

It would also be a good idea to look at the capabilities of the major
theming engines (Gtk, Qt, Cocoa) and possibly some others like the one
used by Enlightemnent and try to abstract an API that can accommodate
them all in a straightforward way.

Note also that there is the added complication that the interface wine
uses will need to be a native one, so it can interact with the native
cocoa, qt or gtk libraries.

- Reece

More information about the wine-devel mailing list