What is the CSS engine (not)?
November 22nd, 2008
Andreas’ recent post initiated some discussion about this project’s merits [1, 2], so it might be helpful to spell out some factoids.
The CSS engine is:
- A theme engine for Gtk+ 2.x, that reads widget style descriptions from CSS.
- Very immature and far from being ready for daily use.
- Considerably slower than existing engines, since CSS styles are currently calculated for every drawing operation.
- Rather wastful regarding memory consumption, because it adds a complete theming layer aside Gtk+’s built-in gtkrc infrastructure.
The CSS engine is not / does not provide:
- A theming system for Gtk+ 3.x.
- A new way to arrange widgets in Gtk+ applications.
- The way how GNOME 3 will be themed.
- Good themes for free. No drawing is being done by the engine itself, every pixel on the screen has to be put there by CSS (or images referenced from CSS). Writing a CSS theme will be a lot of work.
- Any kind of innovation. QT supports CSS, XUL uses it for even longer. From a developer’s point of view the most interesting part is libccss anyway, a library that parses CSS and draws CSS styles using cairo. The gtk engine is just a thin wrapper around it.
[1] http://www.jonobacon.org/?p=1403
[2] http://dborg.wordpress.com/2008/11/19/creating-themes/
November 23rd, 2008 at 6:46 am
Do you think that there is any room in the future for any of the “is not / does not provide”. I do like CSS and think it is a relevant and appropriate method for controlling appearing of applications on the desktop.
November 23rd, 2008 at 10:00 am
Richard: yes, the possibility exists, I just felt it would be good to set some facts straight. It’s not my call to have CSS support built into Gtk+ 3.