[squeak-dev] Adopt a Preference Week

Frank Shearar frank.shearar at gmail.com
Sun Nov 24 19:14:55 UTC 2013


We have an enormous number of preferences in the system. We have a
shiny new way of defining these through pragmas (look at
RecentMessages class >> #numberOfRecentSubmissionsToStore for
instance). We have many, many preferences that have not yet been
updated.

Please consider taking an hour and updating a preference. You can find
the old-style preferences in the Preferences class's "standard
queries" category.

As an example, the #turnOffPowerManagement preference belongs on the
PowerManagement class. To move it we
* add a new class var to hold the preference value
* add an accessor with the "ifNil:" pattern. Something like

turnOffPowerManagement
    <preference:'Fill' category: 'In The' description: 'Blanks' type: #Boolean>
    ^ TurnOffPowerManagement ifNil: [false]

* add a mutator:

turnOffPowerManagement: aBoolean
    TurnOffPowerManagement := aBoolean

* Add a postscript to update the new preference from the old one, and
remove the old preference.

You may also need to issue an update to System, recording the removed
preference.

TEST THIS:
* save your changed packages to package-cache
* take a new 4.5 image and load the changed packages - first the new
home of the preference and then System (if necessary)

Finally, copy the changes to Trunk, and soak in the adulation and
praise of your peers.

frank


More information about the Squeak-dev mailing list