Currently, it’s very difficult to change only the thickness of StaffSymbol, since many other grobs adapt their line thickness to that. In order to allow for customisation, it would be much more appropriate to have lineThickness
as a context property of Staff (defaulting to 1) and take this as a factor for all other line thicknesses, so StaffSymbol.thickness
might be overridden independently.
It's one of LilyPond's core-features to increase thickness of line-based grobs, while increasing StaffSymbol.thickness.
From IR:
"thickness (number):
For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e. the visual output is influenced by changes to Staff.StaffSymbol.thickness). "
Currently we have line-thickness as a \paper-variable. Grob's thickness of lines relies on it.
So we have already a "master"-value, although it's not a context-property.
I agree it would be nice to have an easy way to change the thickness independently, though I'm not sure a context-property is the way to go.
Brainstorming (no proposal):
Maybe better to have another grob-property for StaffSymbol, defaulting to thickness.
Other grobs may look at thickness but staff-lines are looking at this other property, which may be used customized.