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 first on a branch. This bug actually predates v2, but wasn’t included in that version because it wasn’t marked as blocking the v2 tracker bug.
If this would still be useful to anyone, it could certainly still go into v3 of the theme format.
This bug is perhaps the first place where the use of SVG was suggested as a workaround for having to add new features. Elsewhere, someone also suggests a novel idea of allowing themes to ship TrueType fonts which contain unusual glyphs, in order to have access to another well-defined vector graphics language. Of course, this would be subsumed if we decided to use SVG.
Photo © Callistobreeze, cc-by-nc-sa.
It certainly would be useful to be able to control line weight – the most common example I can think of is drawing the “X” on the close-button. Having the units be “multiples of the current icon height” seems fairly arbitrary and annoying, though. Shouldn’t they be ‘multiples of the default line width’?
Another alternative might be for themes to be able to specify what font-size ranges they’re usable with, and if the window font-size is larger than the listed maximum, double the size of theme-units until the font-size fits.
On the similar subject of high-resolution displays, you might be interested to read about how browsers deal with the issue: for Firefox specifically, a CSS “pixel” is defined to be “1/96th of an inch, rounded to the nearest device pixel”. In practice, screens up to about 144dpi will draw 1-CSS-pixel borders with one physical pixel, screens up to about 240dpi will draw 1-CSS-pixel borders with two physical pixels, and so forth:
http://weblogs.mozillazine.org/roc/archives/2007/02/units_patch_lan.html
Actually, the cleanest solution for v3 themes might just be to allow all dimension attributes to have an optional ‘units’ parameter, being either “em” for relative-to-window-font sizing, or “px” for relative-to-screen-resolution sizing.
Of course, you’d have to figure out what “em” meant in border styles with the title-bar hidden.