What if you could open XMMS and have all of it's dialogs be consistent with KDE, then start a GNOME session and XMMS will use GTK? What if the old kernel xconfig (2.5 and under) wasn't the boring and slow Tk but instead KDE or GNOME or whatever desktop environment/GUI style you use? What if WINE apps had the same look as your other Linux apps?
This is possible, and admit it, it would be cool! It's pretty obvious that (for expandability) the best way to do this, though not necessarily speed efficient would be to have two layers. One, the API layer, aka the library that talks to the KDE/GNOME/Tk/Motif etc programs and translates GUI information to a central format. Then it would send the data along to the display layer (the layer that renders the GUI system).
Events are picked up by the display layer, then sent to the API layer, where it is distributed to the application in the format it can understand.
Previously I said 3 layers, but that may have confused some people who read it, as it sounded like the middle layer (translation layer) would convert all of the data from every toolkit. this is not the case I was trying to point to. You see people make modules for their toolkit that represent the API layer and the Rendering layer and contribute them to the project (or if they wanted to, as seperate modules).
The user would use an X tool to choose which toolkit to use to display applications. Perhaps we could have a symlink to the current gui set? but that wouldnt let you change while you were running and it would be unportable. We could just build it into the code...
Now speed may be a problem but it might not, I'm not sure, if anybody does, post and tell me about it, if you want to.
Is anyone interested in this project? It would be innovation! we could do quite a bit with it, including making WINE apps seem less confined and have them look more like compatibility support (like support for old MacOS apps in OSX etc).