Heading to New York

It is the first time in a long time that I don’t take vacation for anything else than open source or exams. I decided to have a laptop-less vacation for the next week to relax, think, and refuel my batteries.

Tomorrow I’m going to New York for the whole week, that would be my first time in the US. My plans are: no plans. My main goal is relax and have fun, and if in the meantime I find interesting places and people, that is a plus. I’m going with Luis which assures me a quite acceptable minimum level of fun.

By the way, if any GNOMErs are around in the Manhattan area and want to hang around with us, please, leave a comment or send me an email to aruiz gnome org, we will be glad to be guided by some local geeks.

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!

Bespin: The Web is the IDE

Just spotted this Mozilla LABS project via planet.mozilla.org, Bespin.

The project aims to create a code editor using web standards that can be accessed from anywhere. Check the video on their web site to see it in action.

This project has nailed an idea that has been in my mind for a while, which is that, for most opensource projects, the web becomes the IDE. We use bugzilla to track our bugs, SVN(or any other [D]VCS) web viewers to track our code and visualize commits. We have build servers that show build and unit test results. It seems to me that the last piece is the code editor.

I would love to see an scenario where we can create a branch, write a patch to fix a bug or add a new feature, and click on “send to build server” and just check the output to see what went wrong. All done from the internet coffee of an airport where you are stuck with no possibility of recharge your laptop battery. This would also save the huge loss of time and productivity while setting up a development environment for the first time or when you screwed your system.

Another interesting feature is the collaborative edition of files. Imaging a patch submiter that has got some things wrong, the maintainer could show him the style fixes and other stuff live!

I think I’m going to follow this project quite closely.