Marcel Taeumel uploaded a new version of ReleaseBuilder to project The Trunk:
http://source.squeak.org/trunk/ReleaseBuilder-mt.178.mcz ==================== Summary ==================== Name: ReleaseBuilder-mt.178 Author: mt Time: 26 January 2018, 7:43:08.679036 am UUID: 16fb2ca0-9bc6-1e43-ad39-26694959fc45 Ancestors: ReleaseBuilder-eem.177 Adds default preferences for Transcript tool. =============== Diff against ReleaseBuilder-eem.177 =============== Item was changed: ----- Method: ReleaseBuilder class>>setPreferences (in category 'scripts') ----- setPreferences "Preferences class defaultValueTableForCurrentRelease" " Preferences outOfTheBox." "<-- uncomment after #defaultValueTableForCurrentRelease is fixed up." "General User interaction" Preferences enable: #generalizedYellowButtonMenu ; enable: #swapMouseButtons; disable: #mouseOverForKeyboardFocus. Morph indicateKeyboardFocus: true. Project uiManager openToolsAttachedToMouseCursor: false. SearchBar useScratchPad: false. HandMorph sendMouseWheelToKeyboardFocus: false. HandMorph synthesizeMouseWheelEvents: true. "Text input." TextEditor autoEnclose: true ; autoIndent: true ; encloseSelection: false ; destructiveBackWord: false ; blinkingCursor: true ; dumbbellCursor: false. PluggableTextMorph simpleFrameAdornments: false. TextMorphForEditView draggableTextSelection: true. "Windows" SystemWindow reuseWindows: false. SystemWindow windowsRaiseOnClick: true. SystemWindow windowTitleActiveOnFirstClick: true. Model windowActiveOnFirstClick: false. "Not good for little screen real estate." Model useColorfulWindows: false. Preferences disable: #showSplitterHandles; disable: #fastDragWindowForMorphic. CornerGripMorph drawCornerResizeHandles: false; passiveColor: (Color gray: 0.85); activeColor: (Color r: 1 g: 0.599 b: 0.0). ProportionalSplitterMorph smartHorizontalSplitters: false ; smartVerticalSplitters: false. "Scroll bars." Preferences enable: #scrollBarsNarrow; enable: #scrollBarsOnRight; enable: #alwaysHideHScrollbar; disable: #alwaysShowHScrollbar; disable: #alwaysShowVScrollbar. ScrollBar scrollBarsWithoutArrowButtons: true; scrollBarsWithoutMenuButton: true. ScrollPane useRetractableScrollBars: false. "Rounded corners." Morph preferredCornerRadius: 8. SystemWindow roundedWindowCorners: false. DialogWindow roundedDialogCorners: false. MenuMorph roundedMenuCorners: false. PluggableButtonMorph roundedButtonCorners: false. ScrollBar roundedScrollBarLook: false. "Gradients." SystemWindow gradientWindow: false. DialogWindow gradientDialog: false. MenuMorph gradientMenu: false. PluggableButtonMorph gradientButton: false. ScrollBar gradientScrollBar: false. "Shadows" Preferences enable: #menuAppearance3d. Morph useSoftDropShadow: true. "Lists and Trees" PluggableListMorph filterableLists: true; clearFilterAutomatically: false; highlightHoveredRow: true; menuRequestUpdatesSelection: true. PluggableTreeMorph filterByLabelsOnly: false; maximumSearchDepth: 1. "Standard Tools" TheWorldMainDockingBar showWorldMainDockingBar: true; showSecondsInClock: true; twentyFourHourClock: true. SearchBar useSmartSearch: true. Workspace shouldStyle: false. + TranscriptStream + forceUpdate: true; + redirectToStdOut: false; + characterLimit: 20000. Browser listClassesHierarchically: true; showClassIcons: true; showMessageIcons: true; sortMessageCategoriesAlphabetically: true. Preferences enable: #annotationPanes; enable: #optionalButtons; disable: #diffsWithPrettyPrint; enable: #traceMessages; enable: #alternativeBrowseIt; enable: #menuWithIcons; enable: #visualExplorer. SystemNavigation thoroughSenders: true. Preferences disable: #debugLogTimestamp. "Halo" Preferences enable: #showBoundsInHalo ; disable: #alternateHandlesLook; disable: #showDirectionHandles. "System" NetNameResolver enableIPv6: false. Scanner allowUnderscoreAsAssignment: true; prefAllowUnderscoreSelectors: true. Deprecation showDeprecationWarnings: true "that's all, folks"! |
Hi Marcel,
what do you think about making ReleaseBuilder's preference settings more modular? Instead of having the settings in setPreferences, each class therein could implement setPreferencesForRelease. Pros are - classes can be updated without having to change ReleaseBuilder, which is good when preferences are added or removed - setters then aren't needed (not particularly compelling) Cons are - one has the browse several methods to see all the preferences > On Jan 25, 2018, at 10:43 PM, [hidden email] wrote: > > Marcel Taeumel uploaded a new version of ReleaseBuilder to project The Trunk: > http://source.squeak.org/trunk/ReleaseBuilder-mt.178.mcz > > ==================== Summary ==================== > > Name: ReleaseBuilder-mt.178 > Author: mt > Time: 26 January 2018, 7:43:08.679036 am > UUID: 16fb2ca0-9bc6-1e43-ad39-26694959fc45 > Ancestors: ReleaseBuilder-eem.177 > > Adds default preferences for Transcript tool. > > =============== Diff against ReleaseBuilder-eem.177 =============== > > Item was changed: > ----- Method: ReleaseBuilder class>>setPreferences (in category 'scripts') ----- > setPreferences > "Preferences class defaultValueTableForCurrentRelease" > > " Preferences outOfTheBox." "<-- uncomment after #defaultValueTableForCurrentRelease is fixed up." > > "General User interaction" > Preferences > enable: #generalizedYellowButtonMenu ; > enable: #swapMouseButtons; > disable: #mouseOverForKeyboardFocus. > Morph indicateKeyboardFocus: true. > Project uiManager openToolsAttachedToMouseCursor: false. > SearchBar useScratchPad: false. > > HandMorph sendMouseWheelToKeyboardFocus: false. > HandMorph synthesizeMouseWheelEvents: true. > > "Text input." > TextEditor > autoEnclose: true ; > autoIndent: true ; > encloseSelection: false ; > destructiveBackWord: false ; > blinkingCursor: true ; > dumbbellCursor: false. > PluggableTextMorph simpleFrameAdornments: false. > TextMorphForEditView draggableTextSelection: true. > > "Windows" > SystemWindow reuseWindows: false. > SystemWindow windowsRaiseOnClick: true. > SystemWindow windowTitleActiveOnFirstClick: true. > Model windowActiveOnFirstClick: false. "Not good for little screen real estate." > Model useColorfulWindows: false. > > Preferences > disable: #showSplitterHandles; > disable: #fastDragWindowForMorphic. > CornerGripMorph > drawCornerResizeHandles: false; > passiveColor: (Color gray: 0.85); > activeColor: (Color r: 1 g: 0.599 b: 0.0). > ProportionalSplitterMorph > smartHorizontalSplitters: false ; > smartVerticalSplitters: false. > > "Scroll bars." > Preferences > enable: #scrollBarsNarrow; > enable: #scrollBarsOnRight; > enable: #alwaysHideHScrollbar; > disable: #alwaysShowHScrollbar; > disable: #alwaysShowVScrollbar. > ScrollBar > scrollBarsWithoutArrowButtons: true; > scrollBarsWithoutMenuButton: true. > ScrollPane > useRetractableScrollBars: false. > > "Rounded corners." > Morph preferredCornerRadius: 8. > SystemWindow roundedWindowCorners: false. > DialogWindow roundedDialogCorners: false. > MenuMorph roundedMenuCorners: false. > PluggableButtonMorph roundedButtonCorners: false. > ScrollBar roundedScrollBarLook: false. > > "Gradients." > SystemWindow gradientWindow: false. > DialogWindow gradientDialog: false. > MenuMorph gradientMenu: false. > PluggableButtonMorph gradientButton: false. > ScrollBar gradientScrollBar: false. > > "Shadows" > Preferences enable: #menuAppearance3d. > Morph useSoftDropShadow: true. > > "Lists and Trees" > PluggableListMorph > filterableLists: true; > clearFilterAutomatically: false; > highlightHoveredRow: true; > menuRequestUpdatesSelection: true. > PluggableTreeMorph > filterByLabelsOnly: false; > maximumSearchDepth: 1. > > "Standard Tools" > TheWorldMainDockingBar > showWorldMainDockingBar: true; > showSecondsInClock: true; > twentyFourHourClock: true. > SearchBar useSmartSearch: true. > Workspace shouldStyle: false. > + TranscriptStream > + forceUpdate: true; > + redirectToStdOut: false; > + characterLimit: 20000. > Browser > listClassesHierarchically: true; > showClassIcons: true; > showMessageIcons: true; > sortMessageCategoriesAlphabetically: true. > Preferences enable: #annotationPanes; > enable: #optionalButtons; > disable: #diffsWithPrettyPrint; > enable: #traceMessages; > enable: #alternativeBrowseIt; > enable: #menuWithIcons; > enable: #visualExplorer. > SystemNavigation thoroughSenders: true. > Preferences disable: #debugLogTimestamp. > > "Halo" > Preferences > enable: #showBoundsInHalo ; > disable: #alternateHandlesLook; > disable: #showDirectionHandles. > > "System" > NetNameResolver enableIPv6: false. > Scanner > allowUnderscoreAsAssignment: true; > prefAllowUnderscoreSelectors: true. > > Deprecation showDeprecationWarnings: true > > "that's all, folks"! > > |
Hi Eliot, the job of a release manager is challenging. :-) For this, having one place to orchestrate all the defaults is very helpful. One can also work around special cases in the last minute. Happened before, will happen again. ;-) We do need preference setters. They are good for handling and documenting side-effects. They are also good for all sorts of install scripts like in our change sets. Take a look at: SystemWindow class >> #gradientWindow: SystemWindow class >> #windowTitleActiveOnFirstClick: SystemWindow class >> #moveMenuButtonRight: I do not argue that these cases represent the best way to implement such preferences. However, they are valuable "tools" in their own right. :-) Best, Marcel
|
Hi Marcel,
On Sun, Jan 28, 2018 at 2:14 AM, Marcel Taeumel <[hidden email]> wrote:
If you prefer having settings in one place, and it seems for good reason, then I'm happy.
_,,,^..^,,,_ best, Eliot |
Hi Eliot, well, I am not super happy with the status quo. Yet, I cannot think of a simple way to improve the situation. Preferences and all this in-image state management remain cumbersome. So much to look out for... Best, Marcel
|
> On 28-01-2018, at 10:57 AM, Marcel Taeumel <[hidden email]> wrote: > > Hi Eliot, > > well, I am not super happy with the status quo. Yet, I cannot think of a simple way to improve the situation. One (small, admittedly) part of an improvement would be to drastically reduce the volume of preferences. Do we still need thoroughSenders? run long test cases ? checkForSlips? twentyFourHourFileStamps? And on and on for a rather large list. Eliot’s idea of classes owning relevant preferences seems nice but requires a tool to gather them up into one place for Marcel’s use - but don’t we have a tool for that in the pragma stuff? tim -- tim Rowledge; [hidden email]; http://www.rowledge.org/tim Useful Latin Phrases:- Noli me vocare, ego te vocabo = Don't call me, I'll call you. |
Free forum by Nabble | Edit this page |