Gtk+ 3.0 Theming API Hackfest: Days 1 and 2

Greetings from the hackfest! Sorry for not sending something before, here are some notes.


Monday was mostly a discussion day, people presented their ideas and we started to try to reach a common vision to push to.

Gtk+ 3.0 Theming API Hackfest

We also had Michael Ventnor from Mozilla Corporation and Jens Bache-Wiig, from Qt Software, Nokia (he says he’s the GNOME guy within Qt Software 😉 around to give us input from the third party integration point of view.

Gtk+ 3.0 Theming API HackfestGtk+ 3.0 Theming API Hackfest

Jens did a really cool presentation and demo about QGtkStyle, a Qt Style backend that calls to the Gtk+ 2.x theming , really cool stuff, he had a GNOME environment running Qt/KDE apps that we actually had to stare at for a while to figure out if they were Qt apps or their Gtk+ counterpart. Really nice stuff (and really nice guy by the way). This Style is going to be part of the upcoming Qt 4.5 release.

Michael has been actually requesting feedback around how can Mozilla improve integration with Gtk+/GNOME, we talked about some

We did some agreements, first, we are going to move to a completely Cairo based API and CSS format/semantics for the theming and the element matching. Jens actually said that Qt might be interested working together with us to have similar or even a compatible CSS format for upcoming Qt releases so that themers can exchange up to some extend these themes between desktops. Cool stuff!!!


Yesterday was more of a hacking day, Carlos Garnacho started playing around with his new animation framework and GtkStyleContext prototype, an object that would be the responsible to pass all the information needed to the engines for them to draw widgets and its animation states. He actually got some stuff working, check the video:

Robert Staudinger has fixed some stuff in libcroco, the library that would allow us to parse CSS files in the future.

Hagen Shink and myself were working on adding shaped widgets support, so that engines can return a GtkBitmap with a mask that is then used to know where widgets are responding to events or not. This way we could have a rounded button that won’t be clicked if we click on the corners outside of the shape.

Benjamin has been helping the Qt and the Mozilla guys to help to improve performance with the Qt/Mozilla integration. Nice stuff!

I will add some more notes tomorrow or friday. Stay tuned!

13 thoughts on “Gtk+ 3.0 Theming API Hackfest: Days 1 and 2

  1. Haha, I should have made some more effort to kill that “company confidential” footer now that you took a picture and all. Good luck guys, It was really fun to be part of it. 🙂


  2. WOw i read the whole article..Really amazing things happend there.. Awesome hackfest.. Keep up guys, you ROCK!!!
    Btw, that ogg video didnt open in my stupid windows lappy at office. Mind if u post a flash media link?


  3. Awesomeness, but I wonder if attaching a full GObject with real GObject properties as proposed by GtkStyleContext isn’t a little bit heavy weight: g_object_new (…, with, many, properties, NULL); has quite some overhead.


  4. Will the GtkStyleContext’s parent background be able to show through to child widgets i.e. will we have truly transparent widgets? Seems to me that reusing/porting the existing QT css themeing might be a good idea. You mentioned on Monday that you guys were going to try a CSS format/semantics for the theming; how closely does the GtkStyleContext mirror the Qt Style?
    Also what happened on the other days of the week? I would love to know. Sounds like a lot of good work works done. Thanks.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s