Quote Originally Posted by kernel_panic View Post
The user CAN decide wether he wants to have skins or not... This was the aim of the lib from the beginning. you have a config file, in which all options can be changed and you have a config tool (i will build it into the Windows in the next time) with which you can do it easily.
Correct me if I'm wrong but then the application developer has to take care of adjusting geometries, etc. As you are drawing the skin in the client area (you are, right? Or am I missing something?) if you discard the skin, you either have empty margins around your window or you have to adjust the client rect to remove that margin. And of course each application developer has to have his own infrastructure for storing/restoring/adjusting that. Furthermore you enforce wrapping the "base" window into your own QWidget subclass, right? This is also prone to problems - things like windowTitle, windowIcon and some additional QMainWindow features will stop working. You should think about intercepting events associated with these features and forwarding/reimplementing them in your subclass.

An other feature is that the developer doesn't have to write big code for skinning his app. He just has to sublcass the window from one of the skinwindows of the class and skinning is done. All the rest is done by the config file.
Yes, this is nice. It's something a bit similar to Qt StyleSheets. You could even use the same syntax for your configuration infrastructure.

Did you ever compile the lib and looked how it works?
Because of disk problems I lost all my Windows development data including the compiler and Qt installation, etc. so I can't do that until I reinstall everything. But I had a look at the source code and I've seen screenshots.

This isn't the aim.... I just extracted the pixmaps for this skin from a theme file of windows...
Yes, I understand that. The point is that by doing that you suggest its meant to do just that (for instance by extending Qt-Aero cooperation with "glassy" area).

This lib is just a helper until trolltech adds such a feature in the lib.
You mean skinning system decorations? I don't think they will. But if you mean an ability to influence the non-client rect to create glass effects, I think it's just a matter of time (just take a look at Mac only features implemented in recent Qt releases) and as a temporary solution your idea is cool.

And which user is interrested wether the application is managed from the window manager or mangages by herself, if you don't see any difference?
This user who customizes his/her system look&feel. I know it is still a minority of users when we talk about Windows systems (at least ones used mainly for gaming or office uses), but that's also because systems prior to Windows XP were simply not themable. If you take a look at what KDE offers, you'll think different.

BTW BasysKom created a system for skinning applications by generating a QStyle subclass based on a set of pixmaps and rules provided by the application developer. Just another approach to skinning applications (without interfering the WM though).