at one point I had implemented custom window colors for the VM simulator window thusly:
InterpreterPrimitives class>>initialize
"Initialize the window color. This is probably Squeak-specific, so..."
[Preferences
setWindowColorFor: #cogVirtualMachineSimulatorWindowColor
to: (Color colorFrom: InterpreterPrimitives windowColorSpecification brightColor)]
on: Error
do: [:ex| Transcript show: 'Failed to set window color preference in ', thisContext method methodReference asString]
SimulatorMorphicModel class>>registerWindowColor
(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?
thanks