Category Archives: Themes

Squib of the day: SVG theme support

GNOME bug 107012 brings up the perennial question of SVG support in themes, otherwise known as Vectacity. We’ve already covered this in a few places, but I think it may be worth mentioning here the two main reasons SVG-based themes is a good thing (there may be any number of other reasons they’re a bad […]

Squib of the day: Special frame style for warning dialogues

GNOME bug 102548 suggests that warning dialogues should have a special frame style, and it’s suggested that this could look like safety tape wrapped around the edge. This is not unlike the special frame style suggested here for root windows.  However, while there’s already a way for the window manager to tell whether a window […]

Squib of the day: line weight

At present all lines are drawn at the same thickness.  However, some people such as partially-sighted users require particularly thick lines .  GNOME bug 86040 suggests that the line format be extended to give the width as a fraction of the current icon height. Since this is a change to the format, it must appear […]

Policy about theme versions

Metacity has a policy about enhancements which require changes to the theme format.  Metacity has to be both backwards and forward compatible.  In other words, it’s not enough that a later version of Metacity can run with themes intended for an earlier version.  Earlier versions must also be able to run with themes intended for […]

Quick mention: a theme editor

Someone is working on a Metacity theme editor called Metacity Themer. It appears to take rather a different approach from Opacity; it’ll be interesting to see how this turns out. I’m not sure whether I should abandon Opacity; I wasn’t working on it anyway much (though I had thought about it quite a bit) and […]

More on themes, and on why Human’s slow

Four points of note in theming today.  Your thoughts on these, gentle reader, are appreciated. Screwtape has been working on a Metacity theme to look like Mac OS Classic.  The resulting list of tips and tricks for writing Metacity themes ought to be required reading for all themers.  Screwtape, would you mind if we linked […]

So, why is Human slow?

I mentioned a while back that Human is the slowest of all common themes, taking 6ms to draw the average frame.  It occurred to me to wonder why this might be, of course, so I took the opportunity to instrument it.  Here are the results.  The height of the diagram spans six milliseconds.  You will […]

More failed experiments in theming

Not very surprisingly, replacing horizontal and vertical lines with rectangles doesn’t speed things up detectably.  (There once were systems where this made a difference, but I think GTK is probably clever enough that this doesn’t matter.) More interestingly, plotting the title to a monochrome bitmap, and then setting that bitmap as a stipple and drawing […]

Version 3 themes

Several ideas have come up recently about extensions to the theme format.  Here are some rather disjointed notes about the problems we face here.  I apologise for their fragmentary nature. According to policy, incompatible changes must be made all at once with a new version of the theme format, to preserve backward compatibility.  (This has […]

Sorry for the silence

Sorry for the silence of the past few days; I’ve been working on a possible fix to the theme rendering code, after the test suite told me that the part which calculates the value of expressions was a bit slow.  Currently it tokenises during theme load but parses every evaluation.  I thought that if I […]