<div id="__MailbirdStyleContent" style="font-size: 12pt;font-family: calibri;color: #000000">
                                        
                                        
                                            
                                        
                                        
                                        Hi Eliot,<div><br></div><div>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. ;-)</div><div><br></div><div>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. <span style="font-size: 12pt;line-height: 1.5">Take a look at:</span></div><div><br></div><div>SystemWindow class >> #gradientWindow:</div><div>SystemWindow class >> #windowTitleActiveOnFirstClick:</div><div>SystemWindow class >> #moveMenuButtonRight:</div><div><br></div><div>I do not argue that these cases represent the best way to implement such preferences. However, they are valuable "tools" in their own right. :-)</div><div><br></div><div>Best,</div><div>Marcel</div><div><br></div><div class="mb_sig"></div>
                                        
                                        <blockquote class="history_container" type="cite" style="border-left-style: solid;border-width: 1px;margin-top: 20px;margin-left: 0px;padding-left: 10px;min-width: 500px">
                        <p style="color: #AAAAAA; margin-top: 10px;">Am 28.01.2018 06:04:47 schrieb Eliot Miranda <eliot.miranda@gmail.com>:</p>Hi Marcel,<br><br>   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<br>    - classes can be updated without having to change ReleaseBuilder, which is good when preferences are added or removed<br>    - setters then aren't needed (not particularly compelling)<br>Cons are<br>    - one has the browse several methods to see all the preferences<br><br><br>> On Jan 25, 2018, at 10:43 PM, commits@source.squeak.org wrote:<br>> <br>> Marcel Taeumel uploaded a new version of ReleaseBuilder to project The Trunk:<br>> http://source.squeak.org/trunk/ReleaseBuilder-mt.178.mcz<br>> <br>> ==================== Summary ====================<br>> <br>> Name: ReleaseBuilder-mt.178<br>> Author: mt<br>> Time: 26 January 2018, 7:43:08.679036 am<br>> UUID: 16fb2ca0-9bc6-1e43-ad39-26694959fc45<br>> Ancestors: ReleaseBuilder-eem.177<br>> <br>> Adds default preferences for Transcript tool.<br>> <br>> =============== Diff against ReleaseBuilder-eem.177 ===============<br>> <br>> Item was changed:<br>>  ----- Method: ReleaseBuilder class>>setPreferences (in category 'scripts') -----<br>>  setPreferences<br>>      "Preferences class defaultValueTableForCurrentRelease"<br>> <br>>  "    Preferences outOfTheBox."  "<-- uncomment="" after="" #defaultvaluetableforcurrentrelease="" is="" fixed=""><!------><br>> <br>>      "General User interaction"<br>>      Preferences<br>>          enable: #generalizedYellowButtonMenu ;<br>>          enable: #swapMouseButtons;<br>>          disable: #mouseOverForKeyboardFocus.<br>>      Morph indicateKeyboardFocus: true.<br>>      Project uiManager openToolsAttachedToMouseCursor: false.<br>>      SearchBar useScratchPad: false.<br>>      <br>>      HandMorph sendMouseWheelToKeyboardFocus: false.<br>>      HandMorph synthesizeMouseWheelEvents: true.<br>>      <br>>      "Text input."<br>>      TextEditor<br>>           autoEnclose: true ;<br>>           autoIndent: true ;<br>>           encloseSelection: false ;<br>>           destructiveBackWord: false ;<br>>           blinkingCursor: true ;<br>>           dumbbellCursor: false.<br>>      PluggableTextMorph simpleFrameAdornments: false.<br>>      TextMorphForEditView draggableTextSelection: true.<br>>      <br>>      "Windows"<br>>      SystemWindow reuseWindows: false.<br>>      SystemWindow windowsRaiseOnClick: true.<br>>      SystemWindow windowTitleActiveOnFirstClick: true.<br>>      Model windowActiveOnFirstClick: false. "Not good for little screen real estate."<br>>      Model useColorfulWindows: false. <br>> <br>>      Preferences<br>>          disable: #showSplitterHandles;<br>>          disable: #fastDragWindowForMorphic.    <br>>      CornerGripMorph<br>>          drawCornerResizeHandles: false;<br>>          passiveColor: (Color gray: 0.85);<br>>          activeColor: (Color r: 1 g: 0.599 b: 0.0).<br>>      ProportionalSplitterMorph<br>>           smartHorizontalSplitters: false ;<br>>           smartVerticalSplitters: false.<br>> <br>>      "Scroll bars."<br>>      Preferences<br>>          enable: #scrollBarsNarrow;<br>>          enable: #scrollBarsOnRight;<br>>          enable: #alwaysHideHScrollbar;<br>>          disable: #alwaysShowHScrollbar;<br>>          disable: #alwaysShowVScrollbar.<br>>      ScrollBar<br>>          scrollBarsWithoutArrowButtons: true;<br>>          scrollBarsWithoutMenuButton: true.<br>>      ScrollPane<br>>          useRetractableScrollBars: false.<br>> <br>>      "Rounded corners."<br>>      Morph preferredCornerRadius: 8.<br>>      SystemWindow roundedWindowCorners: false.<br>>      DialogWindow roundedDialogCorners: false.<br>>      MenuMorph roundedMenuCorners: false.<br>>      PluggableButtonMorph roundedButtonCorners: false.<br>>      ScrollBar roundedScrollBarLook: false.<br>>      <br>>      "Gradients."<br>>      SystemWindow gradientWindow: false.<br>>      DialogWindow gradientDialog: false.<br>>      MenuMorph gradientMenu: false.<br>>      PluggableButtonMorph gradientButton: false.<br>>      ScrollBar gradientScrollBar: false.<br>> <br>>      "Shadows"<br>>      Preferences enable: #menuAppearance3d.<br>>      Morph useSoftDropShadow: true.<br>>      <br>>      "Lists and Trees"<br>>      PluggableListMorph<br>>          filterableLists: true;<br>>          clearFilterAutomatically: false;<br>>          highlightHoveredRow: true;<br>>          menuRequestUpdatesSelection: true.<br>>      PluggableTreeMorph<br>>          filterByLabelsOnly: false;<br>>          maximumSearchDepth: 1.<br>>      <br>>      "Standard Tools"<br>>      TheWorldMainDockingBar<br>>          showWorldMainDockingBar: true;<br>>          showSecondsInClock: true;<br>>          twentyFourHourClock: true.<br>>      SearchBar useSmartSearch: true.<br>>      Workspace shouldStyle: false.<br>> +    TranscriptStream<br>> +        forceUpdate: true;<br>> +        redirectToStdOut: false;<br>> +        characterLimit: 20000.<br>>      Browser<br>>          listClassesHierarchically: true;<br>>          showClassIcons: true;<br>>          showMessageIcons: true;<br>>          sortMessageCategoriesAlphabetically: true.<br>>      Preferences enable: #annotationPanes;<br>>           enable: #optionalButtons;<br>>           disable: #diffsWithPrettyPrint;<br>>           enable: #traceMessages;<br>>           enable: #alternativeBrowseIt;<br>>           enable: #menuWithIcons;<br>>           enable: #visualExplorer.<br>>      SystemNavigation thoroughSenders: true.<br>>      Preferences disable: #debugLogTimestamp.<br>> <br>>      "Halo"<br>>      Preferences<br>>          enable: #showBoundsInHalo ;<br>>          disable: #alternateHandlesLook;<br>>          disable: #showDirectionHandles.<br>> <br>>      "System"<br>>      NetNameResolver enableIPv6: false.<br>>      Scanner<br>>          allowUnderscoreAsAssignment: true;<br>>          prefAllowUnderscoreSelectors: true.<br>>          <br>>      Deprecation showDeprecationWarnings: true<br>> <br>>      "that's all, folks"!<br>> <br>> <br><br>
                        </blockquote></div>