I'm sure this is already on a list somewhere, but for visibility:
Theming allows applications to define a style once and apply it to large numbers of widgets without having to modify pre-existing widget definitions, or even instantiations. Theme information is hence a good candidate for thread-local state or similar, allowing it to be fetched during widget construction without laborious propagation.
Prior art:
CSS (hopefully this level of complexity is avoidable)
Qt's QPalette, in particular the suite of named QBrushes it exposes
Whatever reasoning motivated Gtk to abandon useful theming support
Do Flutter and/or SwiftUI do anything interesting here?
I'm sure this is already on a list somewhere, but for visibility:
Theming allows applications to define a style once and apply it to large numbers of widgets without having to modify pre-existing widget definitions, or even instantiations. Theme information is hence a good candidate for thread-local state or similar, allowing it to be fetched during widget construction without laborious propagation.
Prior art:
QPalette
, in particular the suite of namedQBrush
es it exposes