Christoph Thiede uploaded a new version of System to project The Trunk: http://source.squeak.org/trunk/System-ct.1257.mcz
==================== Summary ====================
Name: System-ct.1257 Author: ct Time: 27 November 2021, 10:01:11.385431 pm UUID: 5df16e76-2520-984a-8fc6-37ca1b36b76c Ancestors: System-ct.1256
Complements Kernel-ct.1426 (removal of #automaticPlatformSettings preference). Step 2/2.
=============== Diff against System-ct.1256 ===============
Item was removed: - ----- Method: Preferences class>>automaticPlatformSettings (in category 'standard queries') ----- - automaticPlatformSettings - ^ self - valueOfFlag: #automaticPlatformSettings - ifAbsent: [ true ]!
Item was changed: ----- Method: Preferences class>>defaultValueTableForCurrentRelease (in category 'defaults') ----- defaultValueTableForCurrentRelease "Answer a table defining default values for all the preferences in the release. Returns a list of (pref-symbol, boolean-symbol) pairs"
^ #( (abbreviatedBrowserButtons false) (alternativeBrowseIt false) (annotationPanes false) (areaFillsAreTolerant false) (areaFillsAreVeryTolerant false) (automaticFlapLayout true) (automaticKeyGeneration false) - (automaticPlatformSettings true) (automaticViewerPlacement true) (balloonHelpEnabled true) (balloonHelpInMessageLists false) (batchPenTrails false) (capitalizedReferences true) (caseSensitiveFinds false) (cautionBeforeClosing false) (changeSetVersionNumbers true) (checkForSlips true) (checkForUnsavedProjects true) (classicNavigatorEnabled false) (cmdDotEnabled true) (collapseWindowsInPlace false) (compactViewerFlaps false) (compressFlashImages false) (confirmFirstUseOfStyle true) (conversionMethodsAtFileOut false) (debugHaloHandle true) (debugPrintSpaceLog false) (debugShowDamage false) (decorateBrowserButtons true) (diffsInChangeList true) (diffsWithPrettyPrint false) (dismissAllOnOptionClose false) (dragNDropWithAnimation false) (eToyFriendly false) (eToyLoginEnabled false) (enableLocalSave true) (extractFlashInHighQuality true) (extractFlashInHighestQuality false) (fastDragWindowForMorphic true) (fenceEnabled true) (fullScreenLeavesDeskMargins true) (haloTransitions false) (higherPerformance false) (honorDesktopCmdKeys true) (includeSoundControlInNavigator false) (infiniteUndo false) (logDebuggerStackToFile true) (magicHalos false) (menuButtonInToolPane false) (menuColorFromWorld false) (menuKeyboardControl false) (modalColorPickers true) (mouseOverForKeyboardFocus false) (mouseOverHalos false) (mvcProjectsAllowed true) (navigatorOnLeftEdge true) (noviceMode false) (okToReinitializeFlaps true) (optionalButtons true) (passwordsOnPublish false) (personalizedWorldMenu true) (postscriptStoredAsEPS false) (projectViewsInWindows true) (projectZoom true) (projectsSentToDisk false) (propertySheetFromHalo false) (readDocumentAtStartup true) (restartAlsoProceeds false) (reverseWindowStagger true) (roundedMenuCorners true) (scrollBarsNarrow false) (scrollBarsOnRight true) (securityChecksEnabled false) (selectiveHalos false) (showBoundsInHalo false) (showDirectionForSketches false) (showDirectionHandles false) (showFlapsWhenPublishing false) (showProjectNavigator false) (showSecurityStatus true) (showSharedFlaps true) (signProjectFiles true) (simpleMenus false) (smartUpdating true) (startInUntrustedDirectory false) (systemWindowEmbedOK false) (tileTranslucentDrag true) (timeStampsInMenuTitles true) (turnOffPowerManager false) (twentyFourHourFileStamps true) (typeCheckingInTileScripting true) (uniTilesClassic true) (uniqueNamesInHalos false) (universalTiles false) (unlimitedPaintArea false) (useButtonPropertiesToFire false) (useUndo true) (viewersInFlaps true) (warnAboutInsecureContent true) (warnIfNoChangesFile true) (warnIfNoSourcesFile true))
" Preferences defaultValueTableForCurrentRelease do: [:pair | (Preferences preferenceAt: pair first ifAbsent: [nil]) ifNotNilDo: [:pref | pref defaultValue: (pair last == true)]]. Preferences chooseInitialSettings. "!
Item was changed: ----- Method: SmalltalkImage>>setPlatformPreferences (in category 'snapshot and quit') ----- setPlatformPreferences "Set some platform specific preferences on system startup" | platform specs | - Preferences automaticPlatformSettings ifFalse:[^self]. platform := self platformName. + specs := #(). - specs := #(). platform = 'Win32' ifTrue:[ specs := #()]. platform = 'Mac OS' ifTrue:[ specs := #()]. specs do:[:tuple| Preferences setPreference: tuple first toValue: (tuple last == true). + ].! - ]. - !
Item was changed: (PackageInfo named: 'System') postscript: '"Add the new primitive error codes to the specialObjectsArray if they are not there yet." Smalltalk primitiveErrorTable size < 26 ifTrue: [Smalltalk recreateSpecialObjectsArray].
+ (Preferences preferenceAt: #debugLogTimestamp) categoryList: #(''debug''). + + Preferences removePreference: #automaticPlatformSettings.'! - (Preferences preferenceAt: #debugLogTimestamp) categoryList: #(''debug'').'!
I just finished researching why my "Map CONTROL keys to COMMAND keys" preference keeps getting set after I know I unset it multiple times, and stumbled upon this.
It's a bug to silently override the user's preferences after they explicitly set them, full stop. Rather than bring back this #automaticPlatformSettings preference, though, how about moving the code in EventSensor class>>#startUp: to where the release image is initialized? ReleaseBuilder?
- Chris
On Sat, Nov 27, 2021 at 3:01 PM commits@source.squeak.org wrote:
Christoph Thiede uploaded a new version of System to project The Trunk: http://source.squeak.org/trunk/System-ct.1257.mcz
==================== Summary ====================
Name: System-ct.1257 Author: ct Time: 27 November 2021, 10:01:11.385431 pm UUID: 5df16e76-2520-984a-8fc6-37ca1b36b76c Ancestors: System-ct.1256
Complements Kernel-ct.1426 (removal of #automaticPlatformSettings preference). Step 2/2.
=============== Diff against System-ct.1256 ===============
Item was removed:
- ----- Method: Preferences class>>automaticPlatformSettings (in category
'standard queries') -----
- automaticPlatformSettings
^ self
valueOfFlag: #automaticPlatformSettings
ifAbsent: [ true ]!
Item was changed: ----- Method: Preferences class>>defaultValueTableForCurrentRelease (in category 'defaults') ----- defaultValueTableForCurrentRelease "Answer a table defining default values for all the preferences in the release. Returns a list of (pref-symbol, boolean-symbol) pairs"
^ #( (abbreviatedBrowserButtons false) (alternativeBrowseIt false) (annotationPanes false) (areaFillsAreTolerant false) (areaFillsAreVeryTolerant false) (automaticFlapLayout true) (automaticKeyGeneration false)
(automaticPlatformSettings true) (automaticViewerPlacement true) (balloonHelpEnabled true) (balloonHelpInMessageLists false) (batchPenTrails false) (capitalizedReferences true) (caseSensitiveFinds false) (cautionBeforeClosing false) (changeSetVersionNumbers true) (checkForSlips true) (checkForUnsavedProjects true) (classicNavigatorEnabled false) (cmdDotEnabled true) (collapseWindowsInPlace false) (compactViewerFlaps false) (compressFlashImages false) (confirmFirstUseOfStyle true) (conversionMethodsAtFileOut false) (debugHaloHandle true) (debugPrintSpaceLog false) (debugShowDamage false) (decorateBrowserButtons true) (diffsInChangeList true) (diffsWithPrettyPrint false) (dismissAllOnOptionClose false) (dragNDropWithAnimation false) (eToyFriendly false) (eToyLoginEnabled false) (enableLocalSave true) (extractFlashInHighQuality true) (extractFlashInHighestQuality false) (fastDragWindowForMorphic true) (fenceEnabled true) (fullScreenLeavesDeskMargins true) (haloTransitions false) (higherPerformance false) (honorDesktopCmdKeys true) (includeSoundControlInNavigator false) (infiniteUndo false) (logDebuggerStackToFile true) (magicHalos false) (menuButtonInToolPane false) (menuColorFromWorld false) (menuKeyboardControl false) (modalColorPickers true) (mouseOverForKeyboardFocus false) (mouseOverHalos false) (mvcProjectsAllowed true) (navigatorOnLeftEdge true) (noviceMode false) (okToReinitializeFlaps true) (optionalButtons true) (passwordsOnPublish false) (personalizedWorldMenu true) (postscriptStoredAsEPS false) (projectViewsInWindows true) (projectZoom true) (projectsSentToDisk false) (propertySheetFromHalo false) (readDocumentAtStartup true) (restartAlsoProceeds false) (reverseWindowStagger true) (roundedMenuCorners true) (scrollBarsNarrow false) (scrollBarsOnRight true) (securityChecksEnabled false) (selectiveHalos false) (showBoundsInHalo false) (showDirectionForSketches false) (showDirectionHandles false) (showFlapsWhenPublishing false) (showProjectNavigator false) (showSecurityStatus true) (showSharedFlaps true) (signProjectFiles true) (simpleMenus false) (smartUpdating true) (startInUntrustedDirectory false) (systemWindowEmbedOK false) (tileTranslucentDrag true) (timeStampsInMenuTitles true) (turnOffPowerManager false) (twentyFourHourFileStamps true) (typeCheckingInTileScripting true) (uniTilesClassic true) (uniqueNamesInHalos false) (universalTiles false) (unlimitedPaintArea false) (useButtonPropertiesToFire false) (useUndo true) (viewersInFlaps true) (warnAboutInsecureContent true) (warnIfNoChangesFile true) (warnIfNoSourcesFile true))
" Preferences defaultValueTableForCurrentRelease do: [:pair | (Preferences preferenceAt: pair first ifAbsent: [nil])
ifNotNilDo: [:pref | pref defaultValue: (pair last == true)]]. Preferences chooseInitialSettings. "!
Item was changed: ----- Method: SmalltalkImage>>setPlatformPreferences (in category 'snapshot and quit') ----- setPlatformPreferences "Set some platform specific preferences on system startup" | platform specs |
Preferences automaticPlatformSettings ifFalse:[^self]. platform := self platformName.
specs := #().
specs := #(). platform = 'Win32' ifTrue:[ specs := #()]. platform = 'Mac OS' ifTrue:[ specs := #()]. specs do:[:tuple| Preferences setPreference: tuple first toValue: (tuple
last == true).
].!
].
- !
Item was changed: (PackageInfo named: 'System') postscript: '"Add the new primitive error codes to the specialObjectsArray if they are not there yet." Smalltalk primitiveErrorTable size < 26 ifTrue: [Smalltalk recreateSpecialObjectsArray].
- (Preferences preferenceAt: #debugLogTimestamp) categoryList:
#(''debug'').
- Preferences removePreference: #automaticPlatformSettings.'!
- (Preferences preferenceAt: #debugLogTimestamp) categoryList:
#(''debug'').'!
Okay, obviously ReleaseBuilder won't work.
How about that startup wizard?
On Fri, Mar 15, 2024 at 6:43 PM Chris Muller asqueaker@gmail.com wrote:
I just finished researching why my "Map CONTROL keys to COMMAND keys" preference keeps getting set after I know I unset it multiple times, and stumbled upon this.
It's a bug to silently override the user's preferences after they explicitly set them, full stop. Rather than bring back this #automaticPlatformSettings preference, though, how about moving the code in EventSensor class>>#startUp: to where the release image is initialized? ReleaseBuilder?
- Chris
On Sat, Nov 27, 2021 at 3:01 PM commits@source.squeak.org wrote:
Christoph Thiede uploaded a new version of System to project The Trunk: http://source.squeak.org/trunk/System-ct.1257.mcz
==================== Summary ====================
Name: System-ct.1257 Author: ct Time: 27 November 2021, 10:01:11.385431 pm UUID: 5df16e76-2520-984a-8fc6-37ca1b36b76c Ancestors: System-ct.1256
Complements Kernel-ct.1426 (removal of #automaticPlatformSettings preference). Step 2/2.
=============== Diff against System-ct.1256 ===============
Item was removed:
- ----- Method: Preferences class>>automaticPlatformSettings (in category
'standard queries') -----
- automaticPlatformSettings
^ self
valueOfFlag: #automaticPlatformSettings
ifAbsent: [ true ]!
Item was changed: ----- Method: Preferences class>>defaultValueTableForCurrentRelease (in category 'defaults') ----- defaultValueTableForCurrentRelease "Answer a table defining default values for all the preferences in the release. Returns a list of (pref-symbol, boolean-symbol) pairs"
^ #( (abbreviatedBrowserButtons false) (alternativeBrowseIt false) (annotationPanes false) (areaFillsAreTolerant false) (areaFillsAreVeryTolerant false) (automaticFlapLayout true) (automaticKeyGeneration false)
(automaticPlatformSettings true) (automaticViewerPlacement true) (balloonHelpEnabled true) (balloonHelpInMessageLists false) (batchPenTrails false) (capitalizedReferences true) (caseSensitiveFinds false) (cautionBeforeClosing false) (changeSetVersionNumbers true) (checkForSlips true) (checkForUnsavedProjects true) (classicNavigatorEnabled false) (cmdDotEnabled true) (collapseWindowsInPlace false) (compactViewerFlaps false) (compressFlashImages false) (confirmFirstUseOfStyle true) (conversionMethodsAtFileOut false) (debugHaloHandle true) (debugPrintSpaceLog false) (debugShowDamage false) (decorateBrowserButtons true) (diffsInChangeList true) (diffsWithPrettyPrint false) (dismissAllOnOptionClose false) (dragNDropWithAnimation false) (eToyFriendly false) (eToyLoginEnabled false) (enableLocalSave true) (extractFlashInHighQuality true) (extractFlashInHighestQuality false) (fastDragWindowForMorphic true) (fenceEnabled true) (fullScreenLeavesDeskMargins true) (haloTransitions false) (higherPerformance false) (honorDesktopCmdKeys true) (includeSoundControlInNavigator false) (infiniteUndo false) (logDebuggerStackToFile true) (magicHalos false) (menuButtonInToolPane false) (menuColorFromWorld false) (menuKeyboardControl false) (modalColorPickers true) (mouseOverForKeyboardFocus false) (mouseOverHalos false) (mvcProjectsAllowed true) (navigatorOnLeftEdge true) (noviceMode false) (okToReinitializeFlaps true) (optionalButtons true) (passwordsOnPublish false) (personalizedWorldMenu true) (postscriptStoredAsEPS false) (projectViewsInWindows true) (projectZoom true) (projectsSentToDisk false) (propertySheetFromHalo false) (readDocumentAtStartup true) (restartAlsoProceeds false) (reverseWindowStagger true) (roundedMenuCorners true) (scrollBarsNarrow false) (scrollBarsOnRight true) (securityChecksEnabled false) (selectiveHalos false) (showBoundsInHalo false) (showDirectionForSketches false) (showDirectionHandles false) (showFlapsWhenPublishing false) (showProjectNavigator false) (showSecurityStatus true) (showSharedFlaps true) (signProjectFiles true) (simpleMenus false) (smartUpdating true) (startInUntrustedDirectory false) (systemWindowEmbedOK false) (tileTranslucentDrag true) (timeStampsInMenuTitles true) (turnOffPowerManager false) (twentyFourHourFileStamps true) (typeCheckingInTileScripting true) (uniTilesClassic true) (uniqueNamesInHalos false) (universalTiles false) (unlimitedPaintArea false) (useButtonPropertiesToFire false) (useUndo true) (viewersInFlaps true) (warnAboutInsecureContent true) (warnIfNoChangesFile true) (warnIfNoSourcesFile true))
" Preferences defaultValueTableForCurrentRelease do: [:pair | (Preferences preferenceAt: pair first ifAbsent: [nil])
ifNotNilDo: [:pref | pref defaultValue: (pair last == true)]]. Preferences chooseInitialSettings. "!
Item was changed: ----- Method: SmalltalkImage>>setPlatformPreferences (in category 'snapshot and quit') ----- setPlatformPreferences "Set some platform specific preferences on system startup" | platform specs |
Preferences automaticPlatformSettings ifFalse:[^self]. platform := self platformName.
specs := #().
specs := #(). platform = 'Win32' ifTrue:[ specs := #()]. platform = 'Mac OS' ifTrue:[ specs := #()]. specs do:[:tuple| Preferences setPreference: tuple first toValue: (tuple
last == true).
].!
].
- !
Item was changed: (PackageInfo named: 'System') postscript: '"Add the new primitive error codes to the specialObjectsArray if they are not there yet." Smalltalk primitiveErrorTable size < 26 ifTrue: [Smalltalk recreateSpecialObjectsArray].
- (Preferences preferenceAt: #debugLogTimestamp) categoryList:
#(''debug'').
- Preferences removePreference: #automaticPlatformSettings.'!
- (Preferences preferenceAt: #debugLogTimestamp) categoryList:
#(''debug'').'!
Hi Chris --
I think we should just remember when the default was changed and do not reset it if the platform remains unchanged after a restart. No need for that #automaticPlatformSettings. Then, users can experiment with custom configuration on their preferred platform.
Yes, we should honor a user's explicit decision here. Like we do in Warning and its #suppressed w/ #resentOnStartUp :-)
Sorry for that inconvenience. I just wanted to make sure that sharing images across different platforms yields a similar/expected user experience.
Best, Marcel
Am 16.03.2024 00:48:29 schrieb Chris Muller asqueaker@gmail.com:
Okay, obviously ReleaseBuilder won't work.
How about that startup wizard?
On Fri, Mar 15, 2024 at 6:43 PM Chris Muller <asqueaker@gmail.commailto:asqueaker@gmail.com> wrote: I just finished researching why my "Map CONTROL keys to COMMAND keys" preference keeps getting set after I know I unset it multiple times, and stumbled upon this.
It's a bug to silently override the user's preferences after they explicitly set them, full stop. Rather than bring back this #automaticPlatformSettings preference, though, how about moving the code in EventSensor class>>#startUp: to where the release image is initialized? ReleaseBuilder?
- Chris
On Sat, Nov 27, 2021 at 3:01 PM <commits@source.squeak.orgmailto:commits@source.squeak.org> wrote: Christoph Thiede uploaded a new version of System to project The Trunk: http://source.squeak.org/trunk/System-ct.1257.mcz
==================== Summary ====================
Name: System-ct.1257 Author: ct Time: 27 November 2021, 10:01:11.385431 pm UUID: 5df16e76-2520-984a-8fc6-37ca1b36b76c Ancestors: System-ct.1256
Complements Kernel-ct.1426 (removal of #automaticPlatformSettings preference). Step 2/2.
=============== Diff against System-ct.1256 ===============
Item was removed: - ----- Method: Preferences class>>automaticPlatformSettings (in category 'standard queries') ----- - automaticPlatformSettings - ^ self - valueOfFlag: #automaticPlatformSettings - ifAbsent: [ true ]!
Item was changed: ----- Method: Preferences class>>defaultValueTableForCurrentRelease (in category 'defaults') ----- defaultValueTableForCurrentRelease "Answer a table defining default values for all the preferences in the release. Returns a list of (pref-symbol, boolean-symbol) pairs"
^ #( (abbreviatedBrowserButtons false) (alternativeBrowseIt false) (annotationPanes false) (areaFillsAreTolerant false) (areaFillsAreVeryTolerant false) (automaticFlapLayout true) (automaticKeyGeneration false) - (automaticPlatformSettings true) (automaticViewerPlacement true) (balloonHelpEnabled true) (balloonHelpInMessageLists false) (batchPenTrails false) (capitalizedReferences true) (caseSensitiveFinds false) (cautionBeforeClosing false) (changeSetVersionNumbers true) (checkForSlips true) (checkForUnsavedProjects true) (classicNavigatorEnabled false) (cmdDotEnabled true) (collapseWindowsInPlace false) (compactViewerFlaps false) (compressFlashImages false) (confirmFirstUseOfStyle true) (conversionMethodsAtFileOut false) (debugHaloHandle true) (debugPrintSpaceLog false) (debugShowDamage false) (decorateBrowserButtons true) (diffsInChangeList true) (diffsWithPrettyPrint false) (dismissAllOnOptionClose false) (dragNDropWithAnimation false) (eToyFriendly false) (eToyLoginEnabled false) (enableLocalSave true) (extractFlashInHighQuality true) (extractFlashInHighestQuality false) (fastDragWindowForMorphic true) (fenceEnabled true) (fullScreenLeavesDeskMargins true) (haloTransitions false) (higherPerformance false) (honorDesktopCmdKeys true) (includeSoundControlInNavigator false) (infiniteUndo false) (logDebuggerStackToFile true) (magicHalos false) (menuButtonInToolPane false) (menuColorFromWorld false) (menuKeyboardControl false) (modalColorPickers true) (mouseOverForKeyboardFocus false) (mouseOverHalos false) (mvcProjectsAllowed true) (navigatorOnLeftEdge true) (noviceMode false) (okToReinitializeFlaps true) (optionalButtons true) (passwordsOnPublish false) (personalizedWorldMenu true) (postscriptStoredAsEPS false) (projectViewsInWindows true) (projectZoom true) (projectsSentToDisk false) (propertySheetFromHalo false) (readDocumentAtStartup true) (restartAlsoProceeds false) (reverseWindowStagger true) (roundedMenuCorners true) (scrollBarsNarrow false) (scrollBarsOnRight true) (securityChecksEnabled false) (selectiveHalos false) (showBoundsInHalo false) (showDirectionForSketches false) (showDirectionHandles false) (showFlapsWhenPublishing false) (showProjectNavigator false) (showSecurityStatus true) (showSharedFlaps true) (signProjectFiles true) (simpleMenus false) (smartUpdating true) (startInUntrustedDirectory false) (systemWindowEmbedOK false) (tileTranslucentDrag true) (timeStampsInMenuTitles true) (turnOffPowerManager false) (twentyFourHourFileStamps true) (typeCheckingInTileScripting true) (uniTilesClassic true) (uniqueNamesInHalos false) (universalTiles false) (unlimitedPaintArea false) (useButtonPropertiesToFire false) (useUndo true) (viewersInFlaps true) (warnAboutInsecureContent true) (warnIfNoChangesFile true) (warnIfNoSourcesFile true))
" Preferences defaultValueTableForCurrentRelease do: [:pair | (Preferences preferenceAt: pair first ifAbsent: [nil]) ifNotNilDo: [:pref | pref defaultValue: (pair last == true)]]. Preferences chooseInitialSettings. "!
Item was changed: ----- Method: SmalltalkImage>>setPlatformPreferences (in category 'snapshot and quit') ----- setPlatformPreferences "Set some platform specific preferences on system startup" | platform specs | - Preferences automaticPlatformSettings ifFalse:[^self]. platform := self platformName. + specs := #(). - specs := #(). platform = 'Win32' ifTrue:[ specs := #()]. platform = 'Mac OS' ifTrue:[ specs := #()]. specs do:[:tuple| Preferences setPreference: tuple first toValue: (tuple last == true). + ].! - ]. - !
Item was changed: (PackageInfo named: 'System') postscript: '"Add the new primitive error codes to the specialObjectsArray if they are not there yet." Smalltalk primitiveErrorTable size < 26 ifTrue: [Smalltalk recreateSpecialObjectsArray].
+ (Preferences preferenceAt: #debugLogTimestamp) categoryList: #(''debug''). + + Preferences removePreference: #automaticPlatformSettings.'! - (Preferences preferenceAt: #debugLogTimestamp) categoryList: #(''debug'').'!
Hi Marcel,
I think we should just remember when the default was changed and do not
reset it if the platform remains unchanged after a restart.
For the use-case where someone deploys an image to others and wants to make the "best guess default", I think that would work.
However, I'm wondering whether this auto-selection behavior should be tied to the platform or the user. It could be the user wants the Command-key look-and-feel to remain the same, regardless of platform. This could occur for users wh bring their image back and forth between different platforms, or a writer who deploys an image-based application to others with explicitly mapped keys that should not change, regardless of platform.
Maybe we underestimated #automaticPlatformSettings. Maybe it was trying to rightly separate those two issues. What do you think?
Best, Chris
Hi Chris --
As far as I know, it is not about a look-and-feel but the only way to write cross-platform Squeak stuff. Once you mingle with the default key mappings, you are likely to make one or another shortcut unavailable on a platform.
Maybe the commentary in KeyboardEvent >> #checkCommandKey helps a little bit.
Best, Marcel
Am 25.03.2024 00:58:40 schrieb Chris Muller asqueaker@gmail.com:
Hi Marcel,
I think we should just remember when the default was changed and do not reset it if the platform remains unchanged after a restart.
For the use-case where someone deploys an image to others and wants to make the "best guess default", I think that would work.
However, I'm wondering whether this auto-selection behavior should be tied to the platform or the user. It could be the user wants the Command-key look-and-feel to remain the same, regardless of platform. This could occur for users wh bring their image back and forth between different platforms, or a writer who deploys an image-based application to others with explicitly mapped keys that should not change, regardless of platform.
Maybe we underestimated #automaticPlatformSettings. Maybe it was trying to rightly separate those two issues. What do you think?
Best, Chris
squeak-dev@lists.squeakfoundation.org