to: (Color colorFrom: InterpreterPrimitives windowColorSpecification brightColor)]
do: [:ex| Transcript show: 'Failed to set window color preference in ', thisContext method methodReference asString]
(Preferences windowColorFor: self name) = Color white
ifTrue: [ Preferences setWindowColorFor: self name to: (Color colorFrom: self windowColorSpecification brightColor) ].
This approach is now deprecated, causing the load script to protest. But the deprecation message isn't helpful. The setter setWindowColorFor:to: just says the method is deprecated, not suggesting any alternative. The getter Preferences class>>#windowColorFor: just says 'Use Model >> #customWindowColor', but the method isn't implemented in any class.
Where's an example of the right way to do it? Could the deprecation warnings be more informative?
Re: How should one implement a custom window color for a custom window?
just implement #defaultWindowColor in your model class. Unless overwritten bei the UI theme, that color will be used. See Model >> #windowColorToUse for reference. If you fancy, you can also overwrite #uniformWindowColor for your model class. :)
Sorry, #customWindowColor got renamed to #defaultWindowColor. I forgot to update that deprecation comment.