The Trunk: ReleaseBuilder-mt.178.mcz

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

The Trunk: ReleaseBuilder-mt.178.mcz

commits-2
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"!


Reply | Threaded
Open this post in threaded view
|

Re: The Trunk: ReleaseBuilder-mt.178.mcz

Eliot Miranda-2
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"!
>
>

Reply | Threaded
Open this post in threaded view
|

Re: The Trunk: ReleaseBuilder-mt.178.mcz

marcel.taeumel
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

Am 28.01.2018 06:04:47 schrieb Eliot Miranda <[hidden email]>:

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="">
>
> "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"!
>
>



Reply | Threaded
Open this post in threaded view
|

Re: The Trunk: ReleaseBuilder-mt.178.mcz

Eliot Miranda-2
Hi Marcel,

On Sun, Jan 28, 2018 at 2:14 AM, Marcel Taeumel <[hidden email]> wrote:
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. :-)

If you prefer having settings in one place, and it seems for good reason, then I'm happy.
 

Best,
Marcel

Am 28.01.2018 06:04:47 schrieb Eliot Miranda <[hidden email]>:

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="">

>
> "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"!
>
>







--
_,,,^..^,,,_
best, Eliot


Reply | Threaded
Open this post in threaded view
|

Re: The Trunk: ReleaseBuilder-mt.178.mcz

marcel.taeumel
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

Am 28.01.2018 19:44:35 schrieb Eliot Miranda <[hidden email]>:

Hi Marcel,

On Sun, Jan 28, 2018 at 2:14 AM, Marcel Taeumel <[hidden email]> wrote:
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. :-)

If you prefer having settings in one place, and it seems for good reason, then I'm happy.
 

Best,
Marcel

Am 28.01.2018 06:04:47 schrieb Eliot Miranda <[hidden email]>:

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="">

>
> "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"!
>
>







--
_,,,^..^,,,_
best, Eliot


Reply | Threaded
Open this post in threaded view
|

Re: The Trunk: ReleaseBuilder-mt.178.mcz

timrowledge


> 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.