Monday, 21 July 2008

Nodoka GTK Engine - towards next big release

Well, I've got some time and ideas how to improve the nodoka gtk2 engine and started working on the new branch (0.8.x), though only in inkscape and in wiki so far... It's a little sad that I have to wait a little more to do more work since in Thursday I've got exams from Classical Electrodynamic (though Special Solutions to Maxwell Equations would be more fitting because most of the time we did electrostatics and magnetics :-D) and after that I'll go on a short vacation. If I wasn't a lazy bum I would have done it a month ago already... Anyway, back to the topic. What's big on the next release?

The next branch of nodoka will recive something what you might call face-lift. I started redesigning the gradients, though in a evolution-like way. Also I made designs for previously 'unthemed' things, like arrows, radio/check buttons, etc. The goal of this release is to complete consistent and complete engine+set of themes that will be natural evolvement of the previous releases and at the some making itself distinguishable from other big players like Clearlooks, Murrine or Aurora. Another goal is to make the engine highly customizable, while maintaining the over speed - we like both speed and configurability, after all :-)

As I've already created a bunch of designs, I think the vacation might come handy - after then I'll check your reactions, suggestions, comments, ... and see which way I'll eventually take. So if you have some ideas, comments, suggestions, ... feel free to either add a comment here or drop a mail at the fedora-art-list.

In my initial mail to the art list I mentioned Fedora 10 release, but when I started designing I came with a lot of ideas and it seems more realistic to make it in time for Fedora 11. The reasons are obvious - it'll take some time to finish the art designs, given the current state of things the code, mostly the drawing functions, will need a major rewrite and extensions and I'll need to think how to make the code effective. It'll take a long time before I'll be able to build something consistent enough to push it even to rawhide, and I don't wan't to start testing just weeks before final release.

So, as the things are now, I think the most possible scenario is early branching of nodoka for F-10 which will make the new packages appear in Rawhide just after the release. Then we'll have the full release cycle to fine-tune the design, perhaps make a Qt4 port, and sort out most bugs.

And now some teasers:

More stuff can be found on the wiki page I created as a "container" for all 0.8.x branch related info.

And the future? Well, now I have a feeling like the 0.8.x branch could be the last pre-1 release. And what would be in the 1.0.0? Perhaps finally support for RGBA, more widgets animation (optional), perhaps some dynamic widgets stuff (optional) and of course it should definitely work well :-D Well, it would be great if the 1.0.0 release was released about the time GTK 3.0 will be out, since it seems like GTK 3.0 will be the first gtk+ version to sort out the problems with theming entries and progress bars and it also looks like GTK 3.0 would also be RGBA enabled. Well, we'll see what the future brings :-D


Juanfgs said...
This comment has been removed by the author.
Sterling Winter said...

+1 for a Qt port. It'd be great to have a well-crafted unified theme for GTK/Qt without having to use one of those kludgy crossover engines.

Anonymous said...

I would LOVE to see different solution to the same artistic problems:
- ability to shrink down the widgets (by decreasing style properties and x/y thickness (note that currently if this is done in nodoka the focus and the widget is not drawn correctly)
- ability to have focus and defaults drawn beautifully and properly - they should be drawn with different styles so one can tell what is focus and what is has default.
- ability to support/draw properly all possible style variations supported by the widgets

As of the arrows those seem fine, what about arrows in the Trees ?

Martin said...

malwkgad, Can you file a bug about the problem with shrinking widgets, prefferably with the exact values that break the rendering? The fix should be within the scope of mere bugfix release. new ticket

Yep, I've thought about the difference between has default and has focus styles and am not yet sure about the final implementation. I think I'll decide this problem when I start coding - as nothing can replace testing in a real environment. The same goes for the all possible varations supported by the widgets. Do you have something in mind that does not work now?

I am not sure yet about the arrows in the Trees. IIRC, they're currently drawn by gtk itself - i.e. the engine does nothing in that matter, I'll see what can be done in that matter later in the development process. Keep tuned and thanks for your comment :-)