
It's now official, a bunch of Gtk+ hackers are gathering together from the 16th to the 20th to bring some bling to Gtk+ 3.0.
Carlos Garnacho, Hagen Schink, Benjamin Berg, Cody Russell, Thomas Wood, Robert Staudinger and myself. I would like to thank Imendio, Canonical, Intel for helping on putting together his great team and a special thanks to my employer Sun Microsystems for supporting me on the organization and providing the venue for everyone.
We also wanted to make sure that we involved third party integrators so that we make the transition to the new API as easy as possible for them.
Nokia is sending Jens Bache-Wiig, from Qt Software, the guy behind QGtkStyle and Mozilla is sending Michael Ventnor the guy behind the Gtk+/GNOME integration with Firefox 3.x.
Big thanks for both companies for their support.
We want to remove all the boundaries artists have while creating themes, ease the live of widget developers that want themeable widgets, we want more powerful engines that are easier to write and maintain, a better look and feel integration with other toolkits and desktops and an API that allows other toolkits to look tightly integrated with Gtk+ and the GNOME desktop. All in one shot!
Quite a huge task, we are gonna need the help and support of everyone in the community to make this happen, once we got some working code out we intend to have public DVCS branches that people can try out so stay tuned.
Where's Cimi? He does an awesome job blinging my desktop :)
Posted by: mike | 02/03/2009 at 03:33 PM
I can not wait for you guys to blog about it after the hackfest is done. You guys do an amazing job!
Posted by: Christoph Burgdorf | 02/03/2009 at 04:06 PM
I'm loving the idea that Qt and Mozilla guys are on board. It is a proof that you a really going after integration and cooperation. Just WOW!
Posted by: Flavio | 02/03/2009 at 04:51 PM
Is there going to be talks and is it open to anyone to come see?
Posted by: tretle | 02/03/2009 at 05:12 PM
That's great news! We can't wait for Gnome and Gtk 3.0! ;-)
Posted by: Mazur | 02/03/2009 at 05:39 PM
@tretle:
unfortunately it is not open to everyone, it's a hackfest focused on getting some work done
Posted by: Alberto Ruiz | 02/03/2009 at 05:45 PM
Cimi +1
Posted by: Pedro | 02/03/2009 at 05:50 PM
You mean GTK will actually get a real drawing API and the lives of integrators won't suck?
Wow, congratulations! I was wondering when GTK would start transitioning to a real toolkit.
Goodbye, pre-multiplied alpha channel and two-pass widget rendering.
Posted by: Charles | 02/03/2009 at 05:55 PM
@Pedro, @mike:
Ask Cimi, we annouced this hackfest several times, and offered sponsorship for whoever that needed it.
Posted by: Alberto Ruiz | 02/03/2009 at 06:19 PM
Its missing the murrine guy...
Posted by: haisen | 02/03/2009 at 06:52 PM
Yeah!!! Great job Alberto. I'm pretty sure this is going to be awesome.
I can't wait either for the Gtk+ 3.0!!!
And I'm really glad wth the collaborations. People from different projects working together is more common each day... That's so great! :-)
We'll be waiting for news ;-)
Good luck and happy hacking!
Posted by: Juanje Ojeda | 02/03/2009 at 07:02 PM
Cimi +1
Posted by: xo0r | 02/03/2009 at 07:06 PM
Are you going to be considering WM themes? Metacity has quite an interesting challenge ahead with v3 of the theme format coming out within the next year or so, including a possible change to SVG.
(Maybe I should have asked to come to this-- I hadn't heard about it until today.)
Posted by: Thomas Thurman | 02/03/2009 at 07:18 PM
@Thomas:
I'm sorry to hear that, I sent an email to gtk-devel and blogged about it some time ago. Also, I was totally unaware of Metacity's theming being affected by this.
Posted by: Alberto Ruiz | 02/03/2009 at 07:39 PM
@Alberto:
It's possible it's not going to touch on Metacity's theming at all, and if so it'd hardly be useful for me to be there. I must have missed the earlier posts, but that's my fault.
Posted by: Thomas Thurman | 02/03/2009 at 07:58 PM
Well, good to hear you are going to ease our lives (GTK themes/engine designers/coders) a little. The thing I hate most about the current setup is that we engine writers have to figure out many of the theming internals ourselves, the good thing is, that when you know how it works, you can do pretty anything...
I hope you preserve the freeness we have and improve the docs in this area as well ;-)
Posted by: Martin Sourada | 02/03/2009 at 09:04 PM
Yeah, I cannot wait for a binding of GTK 3.0 for Pygthon (PyGTK+ 3.0)
Posted by: shakaran | 02/03/2009 at 09:46 PM
So much awesome -- well done and thank you! :-)
Posted by: Jeff Waugh | 02/03/2009 at 10:35 PM
This is definitely great to hear :-)
Being a bit of an outsider, I've only heard a rough sketch of the future look and feel... mostly cleanup, merging in of toolkits like clutter, gnome mobile, canonicals UI experiments, etc.,...
Can building theming infrastructure precede usability and look-and-feel studies that might evolve user interaction?
or is it that you guys have a pretty good idea of the architecture being implemented, and will build that under the assumption it will enable the visions of the future interfaces?
(I'm sure you guys know more of what's going on than me, hence my question)
Posted by: Craig | 02/03/2009 at 10:38 PM
@Jeff:
Thanks a lot dude.
@Craig:
Don't expect magical things at the beginning, this is just the setup to have a clean start on 3.0.
The idea is that 3.0 will get rid of all the deprecated code, to be able to move on and don't have to care for backwards compatibility for once. And we will take that chance to improve the mess that the internal Gtk+ theming API is at the moment.
Posted by: Alberto Ruiz | 02/04/2009 at 12:25 AM
@Alberto
Ha ha... well yes of course we want magic :-)
Thank-you again for progress.
Posted by: Craig | 02/04/2009 at 01:49 AM
If this is sorted out it would be great news. I currently have a large project with many widgets that are not derivative of anything from the base GTK though I have my own variations. i.e. GtkButton -> CaButton for instance.
I can assign my own CaButton a GtkButton style (in a round about way) and it will render it pretty much correctly. The rub comes when you use different theme engines aside from the default. There are quite a few engines which have something similiar to g_assert(GTK_IS_BUTTON(widget)); in the render code which effectively breaks the drawing of my widget. GtkWimp is a windows example; though I submitted a patch for this a while back. I've had reports that QtCurve also acts strangely though I have not tried this out myself. thanks
Posted by: Cole | 02/04/2009 at 08:05 AM
I wonder how you are going to solve the problem of custom widgets with unknown theme engines. Drawing primitives doesn't seem to work, so I'm very curious with what kind of solution you'll come back. :D Have fun!
Posted by: Raphael | 02/04/2009 at 10:14 AM
"we want more powerful engines that are easier to write and maintain, a better look and feel integration with other toolkits and desktops "
Wait does it mean we can get a KDE file dialog/print dialog inside GTK+ aps ? GTK+ really sucks in integrating with anything beside GNOME and Xfce.
Posted by: val-gaav | 02/04/2009 at 04:25 PM
@val-gaav:
That's not theming. File a bug if you think that a native file dialog should be shown when you are running a KDE session. But I guess it should be the KDE people the ones that solve that issue.
I will discuss that with Jens though.
Posted by: Alberto Ruiz | 02/05/2009 at 08:37 PM