discuss-gnustep
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Cocotron used for a real-world app


From: Richard Frith-Macdonald
Subject: Re: Cocotron used for a real-world app
Date: Wed, 29 Oct 2008 14:13:25 +0000


On 29 Oct 2008, at 13:56, Jesse Ross wrote:

Fred, Riccardo, Adam and I have been working on Windows lately and it's now more stable than ever. A good windows theme might help, but actually some of the color schemes we already have work very well indeed.

I agree that allowing for native-appearing GNUstep apps under Windows is a great idea... but I don't think that's doable in the context of a theme. Theming support is essential for GNUstep (obviously), but with Windows, I think we need to really be using native widgets. There are just so many ways that a Windows machine can be customized visually, that a theme will almost always feel out of place (not to mention what we make that GNUstep theme look like: XP or Vista or... something else). I have no idea how this would be done technically, but it's most certainly the best way to give the feel of a truly native application.

True integration with windows widgets is (line integration with X widgets) almost impossible without essentially throwing away gui/back altogether.

My concept of theming (as described in the theme documentation in GNUstep) was to have something a good deal more powerful than conventional themes though, and while it can't be perfect it could do a lot better than you might expect. The idea was to have three levels of operation that a theme bundle could make use of: 1. setting user defaults to change colors and implement limited behavior changes (menu style, window decoration etc) which are already built in to GNUstep.
2. painting gui elements using tiled images (like camealon)
3. new code in the bundle to handle drawing and change class behavior.

The first two parts of this should be usable by designers with no coding knowledge, but the third obviously requires programming skills.

My thought was that a windows theme would operate largely at the third level, though it could make use of the other stuff. For instance, it could make itsself aware of changes to the ms-windows native theme that happens to be in operation, and update drawing of the gnustep app in response to native theme changes. It might be able to draw test widgets using the native APIs, then grab pixmap information from them and use that pixmap information to draw the gnustep gui elements etc. And of course it could also replace the implementation of particular gnustep user interface element with wrappers for native widgets in any place where that's actually enough of an advantage to justify the work.






reply via email to

[Prev in Thread] Current Thread [Next in Thread]