<div dir="ltr">Hi Chris,<div class="gmail_extra"><br><div class="gmail_quote">On Sat, Jun 23, 2018 at 4:06 PM,  <span dir="ltr"><<a href="mailto:commits@source.squeak.org" target="_blank">commits@source.squeak.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">Chris Muller uploaded a new version of Tools to project The Trunk:<br>
<a href="http://source.squeak.org/trunk/Tools-cmm.823.mcz" rel="noreferrer" target="_blank">http://source.squeak.org/<wbr>trunk/Tools-cmm.823.mcz</a><br>
<br>
==================== Summary ====================<br>
<br>
Name: Tools-cmm.823<br>
Author: cmm<br>
Time: 23 June 2018, 6:05:38.664539 pm<br>
UUID: 8f7a7bf2-a8e3-497c-a90f-<wbr>fb2522c558dc<br>
Ancestors: Tools-eem.822<br>
<br>
Added Debugger class>>#rememberExtent: to allow toggling the debuggers initial extent between either classic RealEstateManager preferences or the extent of the most-recently-closed Debugger.<br>
<br>
=============== Diff against Tools-eem.822 ===============<br>
<br>
Item was added:<br>
+ ----- Method: Debugger class>>rememberExtent: (in category 'opening') -----<br>
+ rememberExtent: aBoolean <br>
+       "Set whether to try to remember the last size of the debugger."<br>
+       SavedExtent := aBoolean ifTrue:<br>
+               [ SavedExtent ifNil:<br>
+                       [ "Start at a 33% width, 95% height of the desktop.  Use division for its built-in truncation."<br>
+                       Project current world extent // (3@1.05) ] ]!<br>
<br>
Item was changed:<br>
  ----- Method: Debugger>>buildFullWith: (in category 'toolbuilder') -----<br>
  buildFullWith: builder<br>
        | windowSpec listSpec textSpec |<br>
        windowSpec := builder pluggableWindowSpec new<br>
                model: self;<br>
                label: 'Debugger';<br>
                children: OrderedCollection new.<br>
-       SavedExtent ifNotNil:<br>
-               [windowSpec extent: SavedExtent].<br>
<br>
        listSpec := builder pluggableListSpec new.<br>
        listSpec <br>
                model: self;<br>
                list: #contextStackList; <br>
                getIndex: #contextStackIndex; <br>
                setIndex: #toggleContextStackIndex:; <br>
                menu: #contextStackMenu:shifted:; <br>
                icon: #messageIconAt:;<br>
                helpItem: #messageHelpAt:;<br>
                keyPress: #contextStackKey:from:;<br>
                frame: (0@0 corner: 1@0.22).<br>
        windowSpec children add: listSpec.<br>
<br>
<br>
        textSpec := self buildCodePaneWith: builder.<br>
        textSpec frame: (0@0.22corner: 1@0.8).<br>
        windowSpec children add: textSpec.<br>
<br>
        listSpec := builder pluggableListSpec new.<br>
        listSpec <br>
                model: self receiverInspector;<br>
                list: #fieldList; <br>
                getIndex: #selectionIndex; <br>
                setIndex: #toggleIndex:; <br>
                menu: #fieldListMenu:; <br>
                keyPress: #inspectorKey:from:;<br>
                frame: (0@0.8 corner: 0.2@1);<br>
                help: 'Receiver''s\Instance\<wbr>Variables' withCRs.<br>
        windowSpec children add: listSpec.<br>
<br>
        textSpec := builder pluggableTextSpec new.<br>
        textSpec <br>
                model: self receiverInspector;<br>
                getText: #contents; <br>
                setText: #accept:; <br>
                help: '<- Select receiver''s field' translated;<br>
                selection: #contentsSelection; <br>
                menu: #codePaneMenu:shifted:;<br>
                frame: (0.2@0.8 corner: 0.5@1).<br>
        windowSpec children add: textSpec.<br>
<br>
        listSpec := builder pluggableListSpec new.<br>
        listSpec <br>
                model: self contextVariablesInspector;<br>
                list: #fieldList; <br>
                getIndex: #selectionIndex; <br>
                setIndex: #toggleIndex:; <br>
                menu: #fieldListMenu:; <br>
                keyPress: #inspectorKey:from:;<br>
                frame: (0.5@0.8 corner: 0.7@1);<br>
                help: 'Other\Context\Bindings' withCRs.<br>
        windowSpec children add: listSpec.<br>
<br>
        textSpec := builder pluggableTextSpec new.<br>
        textSpec <br>
                model: self contextVariablesInspector;<br>
                getText: #contents; <br>
                setText: #accept:; <br>
                help: '<- Select context''s field' translated;<br>
                selection: #contentsSelection; <br>
                menu: #codePaneMenu:shifted:;<br>
                frame: (0.7@0.8 corner: 1@1).<br>
        windowSpec children add: textSpec.<br>
<br>
        ^builder build: windowSpec!<br>
<br>
Item was changed:<br>
  ----- Method: Debugger>>initialExtent (in category 'initialize') -----<br>
  initialExtent<br>
        "Initial extent for the full debugger. For the notifier's extent see #initialExtentForNotifier."<br>
<br>
+       ^ SavedExtent ifNil: [ 600@700]!<br>
-       ^ 600@700!<br>
<br></blockquote><div><br></div><div>and the below is broken.  If SavedExtent is nil, it won't remember anything.  Look, is remembering the last open extent of the debugger a huge improvement or not?  I find it a huge improvement.  You've just negated that.  You consistently protest/alter/reject my contributions.  It's getting tedious.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">
Item was changed:<br>
  ----- Method: Debugger>>windowIsClosing (in category 'initialize') -----<br>
  windowIsClosing<br>
+       "My window is being closed; if debugging save its extent.  Clean up.  Restart the low space watcher."<br>
+       interruptedProcess ifNil: [ ^ self ].<br>
+       SavedExtent ifNotNil:<br>
+               [ self dependents<br>
+                       detect:<br>
+                               [ : each | each isWindowForModel: self ]<br>
+                       ifFound:<br>
+                               [ : topWindow | | isDebuggerNotNotifier |<br>
+                               isDebuggerNotNotifier := self dependents anySatisfy:<br>
+                                       [ : each | each isTextView ].<br>
+                               isDebuggerNotNotifier ifTrue: [ SavedExtent := topWindow extent ] ]<br>
+                       ifNone: [ "do nothing" ] ].<br>
-       "My window is being closed; if debugging save its extent.<br>
-        Clean up.  Restart the low space watcher."<br>
- <br>
-       interruptedProcess ifNil: [^self].<br>
-       (self dependents detect: [:m| m isWindowForModel: self] ifNone: []) ifNotNil:<br>
-               [:topWindow| | isDebuggerNotNotifier |<br>
-                isDebuggerNotNotifier := self dependents anySatisfy: [:m| m isTextView].<br>
-                isDebuggerNotNotifier ifTrue:<br>
-                       [SavedExtent := topWindow extent]].<br>
        interruptedProcess terminate.<br>
+       interruptedProcess := interruptedController := contextStack := receiverInspector := contextVariablesInspector := nil.<br>
+       "Restart low space watcher."<br>
+       Smalltalk installLowSpaceWatcher!<br>
-       interruptedProcess := nil.<br>
-       interruptedController := nil.<br>
-       contextStack := nil.<br>
-       receiverInspector := nil.<br>
-       contextVariablesInspector := nil.<br>
-       Smalltalk installLowSpaceWatcher  "restart low space handler"<br>
- !<br>
<br>
<br>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr"><div><span style="font-size:small;border-collapse:separate"><div>_,,,^..^,,,_<br></div><div>best, Eliot</div></span></div></div></div>
</div></div>