straw-man 3.2 default preferences

Doug Way dway at
Thu Apr 25 04:33:36 UTC 2002

Richard A. O'Keefe wrote:

> Scott Wallace <scott.wallace at> wrote:
> 	Here's one quick way: select the following and "print it":
> 	String streamContents: [:aStream | (Preferences allPreferenceObjects 
> 	asSortedCollection:  [:a :b | a name < b name]) do:
> 	     [:pref | aStream cr; cr; nextPutAll: (pref name, ' *', pref 
> 	defaultValue asString, '* ', pref helpString)]]
> The point of my request is that I _can't_ do that until I install 3.2
> (#allPreferenceObjects does not exist in 3.0), and if 3.2final is going
> to come out soon I might as well not install 3.2 before then, yet I
> would like the opportunity to comment on the preferences.
> Could someone who _can_ do that please post the result?

Alrighty, here are the results, if you don't have the latest 3.2.

(It looks like the proposed defaults have already been incorporated into 
3.2gamma in update #4843... these defaults seem to include the recently 
suggested tweaks from this list.  They look good to me so far.)

- Doug Way
   dway at

abbreviatedBrowserButtons *false* when true, abbreviated wordings for 
the buttons in the optional button panes will be used

allowCelesteTell *true* When true, the tell function also works 
standalone using Celeste

alternativeBrowseIt *false* alternativeBrowseIt:
		if true, then the "browse it" (cmd-b) feature in the text editor will 
offer you a list of class names matching the selection, if appropriate

alternativeScrollbarLook *true* When true, use scrollbars matching the 
#alternativeWindowLook preference

alternativeWindowLook *true* If true, use an alternative window look.

annotationPanes *false* annotationPanes:
		If true, a thin horizontal annotation pane is used in browsers.

areaFillsAreTolerant *false* If true, area fills by flooding (used in 
the paint tool and grab flood area) will be tolerant of minor variations 
from the color at the seed location.  If neither this nor the 
veryTolerant preference is set, only regions of identical color will be 

areaFillsAreVeryTolerant *false* If true, area fills by flooding (used 
in the paint tool and grab flood area) will be tolerant of significant 
variations from the color at the seed location.  This setting overrides 
the normally Tolerant setting.

autoAccessors *false* autoAccessors:
		If true, an attempt to call a message which is not understood by an object 
but whose selector is the same as an inst var of the object will result 
in automatic compilation of an accessor method for that object''s class

automaticFlapLayout *true* If true, then upon every resizing of the 
outer application window, flaps along the bottom of the screen are 
automatically laid out such that they do not overlap, whenever that is 

automaticKeyGeneration *false* When true, a key pair for signing 
projects is automatically generated on startup (only if no keys file is 

automaticPlatformSettings *true* automaticPlatformSettings:
		If true, certain preferences are automatically set according to the 
current platform.

automaticViewerPlacement *true* automaticViewerPlacement:
		If true, new viewers are automatically positioned near the objects they 
view; if false, new viewers are attached to the hand, from whence you 
much choose a destination for them

balloonHelpEnabled *true* balloonHelpEnabled:
		Whether balloon help should be offered when the cursor lingers over 
certain objects.

balloonHelpInMessageLists *false* If true, then message-list browsers in 
Morphic will show balloon help, consisting of the first comment of the 
method or of a superclass''s implementation of the method

batchPenTrails *false* batchPenTrails:
		Ignores the detailed movement of pens between display updates.  Thus 
multiple line segments drawn within a script may not be seen individually.

browseWithDragNDrop *false* browseWithDragNDrop:
		If true, drag&drop browsing is enabled, new Browser are opened with 
drag&drop functionality (only in Morphic).

browseWithPrettyPrint *false* browseWithPrettyPrint:
		If true, browsers will automatically format their contents

browserShowsPackagePane *false* browserShowsPackagePane:
		If true, then the various ''browse full'' and ''browse it'' commands 
(usually invoked via cmd-b) will open a Package Browser rather than a 
System Browser.  The Package Browser includes a package pane which 
groups system categories into packages based on the initial portion of 
their category name.

canRecordWhilePlaying *false* canRecordWhilePlaying:
		If true, recording and playing sounds concurrently are permitted (platform 

capitalizedReferences *true* capitalizedReferences:
		if true, then object references in scripts will appear as capitalized 
names, a scheme which makes scripts look ''right'' but which still 
requires some engineering

caseSensitiveFinds *false* caseSensitiveFinds:
		If true, then the "find" command in text will always make its searches in 
a case-sensitive fashion

cautionBeforeClosing *false* cautionBeforeClosing:
		If true, Morphic windows seen in an mvc project will put up a warning 
before allowing themselves to be dismissed

celesteHasStatusPane *false* celesteHasStatusPane:
		If true, Celeste (e-mail reader) includes a status pane.

celesteShowsAttachmentsFlag *false* If true, Celeste (e-mail reader) 
annotates messages in it''s list that have attachments.  This is a 
performance hit and by default is off.

changeSetVersionNumbers *true* changeSetVersionNumbers:
		If true, version-number extensions will be used when constructing names 
for change-set fileouts.  If false, timestamp extensions are used.

checkForSlips *true* checkForSlips:
		If true, then whenever you file out a change set, it is checked for 
''slips'' and if any are found, you are so informed and given a chance 
to open a browser on them

checkForUnsavedProjects *true* checkForUnsavedProjects:
		If enabled, then ask before quitting Squeak if there are unsaved projects 
(the definition of unsaved is fuzzy at the moment and this preference 
may not be honored everywhere)

classicNavigatorEnabled *false* If true, then the classic project 
navigator used in 2000-1 is available quite separately from the Flaps 
regime; if false, then a flap-based navigator is used when a navigator 
is called for.

classicNewMorphMenu *false* if true, the full classic "New Morph" menu 
will be put up when "new morph" is requested from the desktop menu; if 
false, the nested menus are not offered in the "New Morph" menu, so the 
user will need to use the Objects tool or the various flaps, or else the 
"sample instance" feature in class-list and message-list menus, to 
obtain new morphs

clickOnLabelToEdit *false* clickOnLabelToEdit:
		If true, a click on the label of a system window lets you edit it; if 
false, allow dragging of system windows when clicking on the label

cmdDotEnabled *true* cmdDotEnabled:
		If true, cmd-dot brings up a debugger;
if false, the cmd-dot interrupt is disabled

collapseWindowsInPlace *false* If true, windows will be collapsed to the 
bounds of the current window title bar, without moving.

colorWhenPrettyPrinting *false* colorWhenPrettyPrinting:
		If true, then when browseWithPrettyPrint is in effect, the pretty-printing 
will be presented in color

compactViewerFlaps *false* compactViewerFlaps:
		Determines whether a viewer flap should fit tightly around the viewer

compressFlashImages *false* compressFlashImages:
		If true, flash images will automatically be reduced to 8-bit color depth 
upon being read

confirmFirstUseOfStyle *true* confirmFirstUseOfStyle:
		If true, the first attempt to submit a method with non-standard style will 
bring up a confirmation dialog

conversionMethodsAtFileOut *false* conversionMethodsAtFileOut:
		Governs whether at fileout time you should be prompted to define 
conversion methods where deemed appropriate.

cpuWatcherEnabled *false* if true, Squeak processes will be monitored 
for CPU usage. If they take too much CPU, you will get a notification 
menu that will allow you to debug, resume, or terminate the process

debugHaloHandle *true* debugHaloHandle:
		If true, a special debugging halo handle is displayed at the right of the 
halo; if false, no such handle is shown.

debugPrintSpaceLog *false* When true, write a log about space usage in 
image segments during publishing

debugShowDamage *false* debugShowDamage:
		If true, every changed region of the morphic display will be flashed black 
before updating.

decorateBrowserButtons *true* decorateBrowserButtons:
		Governs whether certain buttons, such as the Inheritance button, should 
bear colors that provide user feedback on their applicability

diffsInChangeList *true* diffsInChangeList:
		If true, changeList browsers and Versions browsers will open up by default 
showing diffs, i.e. revealing the differences between successive 
versions or between the in-memory code and the code on disk

diffsWithPrettyPrint *false* diffsWithPrettyPrint:
		if true, displays of source code differences will be pretty-printed first

dismissAllOnOptionClose *false* dismissAllOnOptionClose:
		Mac-specific: if true, then a click on a morphic SystemWindow''s close-box 
while the mac option is held down will result in a dismissal of all 
unchanged windows

dragNDropWithAnimation *false* dragNDropWithAnimation:
		If true, drag&drop is animated.

eToyFriendly *false* eToyFriendly:
		If true, then the system is configured in ways suitable for etoy users

eToyLoginEnabled *false* If true, eToy logins are requested if one of 
the known servers provides a user list

enableLocalSave *true* If true, the "save on local disc" button is enabled

extractFlashInHighQuality *true* extractFlashInHighQuality:
		Whether flash graphics should be extracted in high quality.

extractFlashInHighestQuality *false* extractFlashInHighestQuality:
		Whether flash graphics should be extracted in highest possible quality.

fastDragWindowForMorphic *true* fastDragWindowForMorphic:
		If true, morphic window drag will be done by dragging an outline of the 

fenceEnabled *true* fenceEnabled:
		Whether an object obeying motion scripts should stop moving when it 
reaches the edge of its container.

fullScreenLeavesDeskMargins *true* fullScreenLeavesDeskMargins:
		If true, a Full Screen request to a Window to will leave margins around it.
If false, the Window will fill the Screen unless the Global Flaps are 

haloTransitions *false* When true, make halo transitions use fade-in and 
fade-out effects

hiddenScrollBars *false* hiddenScrollBars:
		If true, then scrollbars will only be shown if a pane''s contents are too 
large to fit inside the pane.

higherPerformance *false* higherPerformance:
		May offer higer performance at the expense of other applications on your 
computer. See the comment in EventSensor>>higherPerformanceNotes for 
more details. NOT advised when running in MVC!

honorDesktopCmdKeys *true* if true, then various command keys shortcuts, 
such as cmd-t for bringing up a Transcript, are enabled for the desktop 
(i.e., when there is no other keyboard focus); when false, such command 
keys are ignored

ignoreStyleIfOnlyBold *true* ignoreStyleIfOnlyBold:
		If true, then any method submission in which the only style change is for 
bolding will be treated as a method with no style specifications

inboardScrollbars *true* inboardScrollbars:
		If true, then ScrollPane will place scrollbars inside on the right and 
will not hide them on exit

includeSoundControlInNavigator *false* If true, add a system sound 
control (Mac only) to the project navigator.

infiniteUndo *false* infiniteUndo:
		if true, then where supported you will be able to roll back to prior 
states via repeated uses of undo.  Undo history will be purged at save/quit

logDebuggerStackToFile *true* logDebuggerStackToFile:
		If true, whenever you fall into a debugger a summary of its stack will be 
written to a file named

magicHalos *false* When true, use "magic" halos for mouse over transitions

menuButtonInToolPane *false* when true, button panes in the various 
tools will sport a button which brings up the message-list menu

menuColorFromWorld *false* menuColorFromWorld:
		Governs whether the colors used in morphic menus should be derived from 
the color of the world background.

menuKeyboardControl *true* When true, allow keyboard control and 
searching in menus

modalColorPickers *true* modalColorPickers:
		If true, color choices in Morphic will be made via color-pickers that take 
control of the mouse and immediately return the color selected upon mouseup

mouseOverForKeyboardFocus *false* When true, the mouse must be over a 
text or list pane in morphic for keystrokes to be felt, and when the 
mouse is out over the desktop, the so-called desktop-command-keys, such 
as cmd-b and cmd-R, are honored.  When false, list panes and text panes 
in morphic remain sensitive to keystrokes even after the mouse is no 
longer over the pane.

mouseOverHalos *false* If true, mouse over halos are enabled in the world

mvcProjectsAllowed *true* mvcProjectsAllowed:
		If true, the open... menu will offer you the chance to open an mvc project.

navigatorOnLeftEdge *true* If true, then the navigator flap will be 
positioned at the left edge of the bottom of the screen.

noviceMode *false* noviceMode:
		If true, certain novice-mode accommodations are made.

okToReinitializeFlaps *true* okToReinitializeFlaps:
		if true, then then code in updates will feel free to reinitialize the 
global flaps; if false, flaps will never be reinitialized by updates -- 
thus, set it to false if you have a serious investment in the content of 
the global flaps in your configuration, strong enough that you don''t 
want your flaps modernized when advances would otherwise indicate a need to

optionalButtons *true* optionalButtons:
		If true, then optional buttons will be used in certain standard tools, 
including browsers, message lists, fileLists, changeLists, and debuggers

passwordsOnPublish *false* Turn this on if you want to be prompted for a 
password when publishing a project.

personalizedWorldMenu *true* personalizedWorldMenu:
		If true, then a right-click (Mac option-click) on the morphic desktop will 
bring up the customizable "personalized" menu; if false, then it will 
bring up the standard world menu.

postscriptStoredAsEPS *false* postscriptStoredAsEPS:
		When printing a morph as PostScript, offers the choice of (true) an EPS 
file suitable for incorporating in a larger job or (false) a DSC file 
that is a standalone file

preserveTrash *true* preserveTrash:
		Whether morphs dismissed via halo or dragged into the Trash should be 
preserved in the TrashCan for possible future retrieval.  If false, they 
are not preserved.

printAlternateSyntax *false* printAlternateSyntax:
		If true, then
prettyPrint using experimental syntax.
Otherwise use normal ST-80 syntax.

projectViewsInWindows *true* projectViewsInWindows:
		New Project view are created in a system window.

projectZoom *true* projectZoom:
		If true, then show a zoom effect when entering or leaving projects.  This 
can be costly of memory (at least an extra screen buffer) so dont use it 
in low space situations.  But it is cool.

projectsSentToDisk *false* projectsSentToDisk:
		If true, entering a new project swaps it in and swaps out other projects 
as appropriate. Projects are swapped in and out as ImageSegments, stored 
as files on disk in an image segment folder associated with the current 

promptForUpdateServer *true* promptForUpdateServer:
		If false, the prompt for server choice when updating code from the server 
is suppressed.  Set this to false to leave the server choice unchanged 
from update to update.

propertySheetFromHalo *false* governs whether a full property sheet or a 
simple "color picker" should be presented when you click on the 
"recoloring" (eyedropper) halo handle.  If you hold down the *shift* key 
as you click on the eyedropper, you will get the the reverse choice.

readDocumentAtStartup *true* No help available for readDocumentAtStartup

restartAlsoProceeds *false* If this preference is set, the debugger''s 
restart button and menu item will also proceed. If the preference is not 
set, the selected context will just be reset to its initial condition, 
so you may step through it again.

reverseWindowStagger *true* reverseWindowStagger:
		If true, a reverse-stagger strategy  is used for determining where newly 
launched windows will be placed; if false, a direct- stagger strategy is 

roundedMenuCorners *true* roundedMenuCorners:
		Whether morphic menus should have rounded corners

roundedWindowCorners *true* roundedWindowCorners:
		Governs whether morphic system windows should have rounded corners

scrollBarsNarrow *false* scrollBarsNarrow:
		If true, morphic scrollbars will be narrow.

scrollBarsOnRight *true* scrollBarsOnRight:
		If true, morphic scrollbars in subsequently opened windows will appear on 
the right side of their pane.

scrollBarsWithoutMenuButton *false* scrollBarsWithoutMenuButton:
		If true, morphic scrollbars in subsequently opened windows will not 
include a menu button.

securityChecksEnabled *false* When true, insecure content will make 
Squeak go into restricted mode. When false, all security mechanisms are 
turned off.

selectiveHalos *false* When this is set to true, halo handles that are 
deemed inappropriate are not shown.  Thus, for example, if a morph is 
marked as resistant to removal, it will not offer a pink ''dismiss''.

showBoundsInHalo *false* showBoundsInHalo:
		If true, halos will include a fine rectangle around the bounds of the 
target morph.

showDirectionForSketches *false* showDirectionForSketches:
		If enabled, direction handles are always shown for SketchMorphs.  If 
disabled, direction handles can be shown by the ''show direction 
handles'' command in the red menu.

showDirectionHandles *false* showDirectionHandles:
		If enabled, direction handles are always shown with halos.  If disabled, 
direction handles can be shown by the ''show direction handles'' command 
in the red menu.

showFlapsWhenPublishing *false* showFlapsWhenPublishing:
		If true, show global flaps and project navigator -- otherwise suppress 
both to give the illusion that we are still in the same project

showProjectNavigator *false* showProjectNavigator:
		If true, then show a project navigator control partly off the bottom of 
the screen.  Suppressed if the ''classicNavigatorEnabled'' preference is 

showSecurityStatus *true* When true, a red border is drawn in the 
current project indicating that the system is in restricted mode.

showSharedFlaps *true* Whether shared flaps should be shown or not; note 
that in addition, each project can selectively disable particular shared 

signProjectFiles *true* When true, projects will be signed before 
storing them on some server.

simpleMenus *false* simpleMenus:
		If true, simpler menus are presented.

smartUpdating *true* smartUpdating:
		If true, then morphic tools such as browsers and inspectors will keep 
their contents up to date automatically, so that if something changes 
anywhere, the change will be reflected everywhere.

soundQuickStart *false* soundQuickStart:
		If true, attempt to start playing sounds using optional "quick start"

soundStopWhenDone *false* soundStopWhenDone:
		If true, the sound player is shut down after playing finished.

soundsEnabled *true* soundsEnabled:
		If false, all sound playing is disabled

startInUntrustedDirectory *false* When true, the default directory is 
set to the untrusted user directory on startup

systemWindowEmbedOK *false* systemWindowEmbedOK:
		Determines whether, in Morphic, when a SystemWindow or MenuMorph is 
dropped onto a willing receptor, it should be deposited into that receptor.

thoroughSenders *true* thoroughSenders:
		If true, then ''senders'' browsers will dive inside structured literals in 
their search

tileTranslucentDrag *true* Scripting tiles will be translucent when 
being dragged.  If false, tiles will be opaque but offset from the 
cursor so the drop zone is visible.

timeStampsInMenuTitles *true* timeStampsInMenuTitles:
		If true, then the author''s timestamp is displayed as the menu title of 
any message list; if false, no author''s timestamps are shown

turnOffPowerManager *false* turnOffPowerManager:
		May offer higer performance at the expense of the life of your Battery 
(macintosh only in 3.VM)

twentyFourHourFileStamps *true* twentyFourHourFileStamps:
		If #changeSetVersionNumbers is false, this preference determines whether 
the date/time suffix used with changeset fileouts is based on a 24-hr 
clock or a 12-hr clock.

twoSidedPoohTextures *true* When true, Pooh objects have independent 
textures for front and back

typeCheckingInTileScripting *true* Governs whether type-checking be used 
in drag-and-drop with tile scripting

uniTilesClassic *true* Governs whether universal tiles should appear and 
act like classic tiles when scripting in this project.

uniqueNamesInHalos *false* uniqueNamesInHalos:
		if true, then when you put up a halo for any morph, it is assigned a 
unique name (if it doesn''t already have one) which will stick with it.

universalTiles *false* Governs whether the new universal tiles or the 
old "classic" etoy tiles should be used for tile scripting in this project.

unlimitedPaintArea *false* unlimitedPaintArea:
		If true, the painting area for a new drawing will not be limited in size; 
if false, a reasonable
limit will be applied, in an attempt to hold down memory and time price.

updateSavesFile *false* updateSavesFile:
		If true, then when an update is loaded from the server, a copy of it will 
automatically be saved on a local file as well.

useButtonProprtiesToFire *false* For testing - uses newer button 
properties code to build the button used to fire the script

useUndo *true* useUndo:
		if true, then undo will generally be available in morphic

viewersInFlaps *true* viewersInFlaps:
		If true, viewers are projected into flaps along the right edge of the screen

warnAboutInsecureContent *true* When true, show a warning when insecure 
content is encountered

warnIfNoChangesFile *true* warnIfNoChangesFile:
		If true, then you will be warned, whenever you start up, if no changes file
can be found

warnIfNoSourcesFile *true* warnIfNoSourcesFile:
		If true, then you will be warned, whenever you start up, if no sources 
file can be found'

More information about the Squeak-dev mailing list