<div id="__MailbirdStyleContent" style="font-size: 10pt;font-family: Arial;color: #000000;text-align: left" dir="ltr">
                                        > <span style="font-family: Calibri, Helvetica, sans-serif;font-size: 16px">could you please honor the "</span><span style="font-family: Calibri, Helvetica, sans-serif;font-size: 16px">SystemWindow reuseWindows" here?</span><div><span style="font-family: Calibri, Helvetica, sans-serif;font-size: 16px"><br></span></div><div><span style="font-family: Calibri, Helvetica, sans-serif;font-size: 16px">+1 This is a regression. If there is an exact match and there is already a window open with that object, nothing will happen, except for that window coming to front. On a big screen, one cannot even notice that.</span></div><div><span style="font-family: Calibri, Helvetica, sans-serif;font-size: 16px"><br></span></div><div><span style="font-family: Calibri, Helvetica, sans-serif;font-size: 16px">Still, not even sure that this would be the wanted behavior for reuseWindows being true. It only works if you type the full name into the search bar. I would expect that it should work also when you select the match from the list of multiple matches. :-)</span></div><div><span style="font-family: Calibri, Helvetica, sans-serif;font-size: 16px"><br></span></div><div><span style="font-family: Calibri, Helvetica, sans-serif;font-size: 16px">Best,</span></div><div><span style="font-family: Calibri, Helvetica, sans-serif;font-size: 16px">Marcel</span></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 05.02.2021 02:14:41 schrieb Thiede, Christoph <christoph.thiede@student.hpi.uni-potsdam.de>:</p><div style="font-family:Arial,Helvetica,sans-serif">


<div dir="ltr">
<div id="x_divtagdefaultwrapper" dir="ltr" style="font-size: 12pt;color: #000000;font-family: Calibri,Helvetica,sans-serif">
<p>Hi Eliot,</p>
<p><br>
</p>
<p>could you please honor the "<span>SystemWindow reuseWindows" here? I have turned that preference off in my image because I actually use to accept a class name multiple times in the search bar in order to open multiple windows - for instance, to view different
 protocols of the same class side-by-side. It would be great if this would work soon again ... :-)</span></p>
<p><span><br>
</span></p>
<p><span>Best,</span></p>
<p><span>Christoph</span></p>
<div id="x_Signature">
<div id="x_divtagdefaultwrapper" dir="ltr" style="font-size: 12pt;color: rgb(0,0,0);font-family: Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols">
<div name="x_divtagdefaultwrapper" style="font-family: Calibri,Arial,Helvetica,sans-serif;font-size: ;margin: 0">
<div><span style="font-size: 10pt;color: #808080"></span></div>
</div>
</div>
</div>
</div>
<hr tabindex="-1" style="display:inline-block; width:98%">
<div id="x_divRplyFwdMsg" dir="ltr"><span style="font-family: Calibri, sans-serif;color: #000000"><b>Von:</b> Squeak-dev <squeak-dev-bounces@lists.squeakfoundation.org> im Auftrag von commits@source.squeak.org <commits@source.squeak.org><br>
<b>Gesendet:</b> Donnerstag, 4. Februar 2021 03:38:15<br>
<b>An:</b> squeak-dev@lists.squeakfoundation.org; packages@lists.squeakfoundation.org<br>
<b>Betreff:</b> [squeak-dev] The Trunk: Morphic-eem.1719.mcz</span>
<div> </div>
</div>
</div>
<span style="font-size: 10pt"><span style="font-size: 10pt">
<div class="PlainText">Eliot Miranda uploaded a new version of Morphic to project The Trunk:<br>
<a href="http://source.squeak.org/trunk/Morphic-eem.1719.mcz">http://source.squeak.org/trunk/Morphic-eem.1719.mcz</a><br>
<br>
==================== Summary ====================<br>
<br>
Name: Morphic-eem.1719<br>
Author: eem<br>
Time: 3 February 2021, 6:38:11.11355 pm<br>
UUID: ffb981b1-7c53-4fbe-b6f4-4c8f27c79f5a<br>
Ancestors: Morphic-mt.1718<br>
<br>
Make SearchBar>>#smartSearch:in: search existing browsers for a class name being searched for, bringing the first such browser to the front and selecting the class.  This allows one to find classes in browsers either when one has very many, or when one is using
 multi-window browsers containing many many classes.<br>
<br>
=============== Diff against Morphic-mt.1718 ===============<br>
<br>
Item was added:<br>
+ ----- Method: Browser>>displayClass: (in category '*Morphic-Menus-DockingBar-accessing') -----<br>
+ displayClass: aClass<br>
+        "Assuming the receiver has answered true to isDisplayingClass:, come to the front and select the given class."<br>
+        | index |<br>
+        index := self multiWindowIndexForClassName: aClass.<br>
+        index  ~= 0 ifTrue:<br>
+                [multiWindowState selectWindowIndex: index].<br>
+        self selectClass: aClass!<br>
<br>
Item was added:<br>
+ ----- Method: Browser>>isDisplayingClass: (in category '*Morphic-Menus-DockingBar-accessing') -----<br>
+ isDisplayingClass: aClass<br>
+        | className |<br>
+        className := aClass name.<br>
+        (self multiWindowIndexForClassName: className) ~= 0 ifTrue: [^true].<br>
+        ^selectedClassName = className!<br>
<br>
Item was added:<br>
+ ----- Method: Browser>>multiWindowIndexForClassName: (in category '*Morphic-Menus-DockingBar-accessing') -----<br>
+ multiWindowIndexForClassName: className<br>
+        "Answer the index of a browser displaying className in multiWindowState, if any.<br>
+         Otherwise answer zero."<br>
+        multiWindowState ifNil: [^0].<br>
+        multiWindowState models withIndexDo:<br>
+                [:browser :index|<br>
+                browser selectedClassName = className ifTrue: [^index]].<br>
+        ^0!<br>
<br>
Item was changed:<br>
  ----- Method: SearchBar>>smartSearch:in: (in category 'searching') -----<br>
  smartSearch: text in: morph<br>
         "Take the user input and perform an appropriate search"<br>
         | input newContents |<br>
         self removeResultsWidget.<br>
         input := text asString ifEmpty:[^self].<br>
         self class useSmartSearch ifFalse: [^ ToolSet default browseMessageNames: input].<br>
  <br>
+        (Symbol findInterned: input) ifNotNil:<br>
+                [:symbol| input := symbol].<br>
         "If it is a global or a full class name, browse that class."<br>
+        (Smalltalk bindingOf: input) ifNotNil:<br>
+                [:assoc| | class |<br>
+                class := (assoc value isBehavior ifTrue:[assoc value] ifFalse:[assoc value class]) theNonMetaClass.<br>
+                Project current world submorphs do:<br>
+                        [:windowMorph|<br>
+                         (windowMorph isSystemWindow<br>
+                          and: [(windowMorph model isKindOf: Browser)<br>
+                          and: [windowMorph model isDisplayingClass: class]]) ifTrue:<br>
+                                [windowMorph beKeyWindow.<br>
+                                 ^windowMorph model displayClass: class]].<br>
+                ^ToolSet browse: class selector: nil].<br>
-        (Smalltalk bindingOf: input) ifNotNil:[:assoc| | global |<br>
-                global := assoc value.<br>
-                ^ToolSet browse: (global isBehavior ifTrue:[global] ifFalse:[global class]) selector: nil].<br>
         <br>
         "If it is a symbol and there are implementors of it, browse those implementors."<br>
         Symbol hasInterned: input ifTrue: [:selector |<br>
                 (SystemNavigation new allImplementorsOf: selector) ifNotEmpty:[:list|<br>
                         ^SystemNavigation new<br>
                                 browseMessageList: list<br>
                                 name: 'Implementors of ' , input]].<br>
  <br>
         "If it starts uppercase, browse classes if any. Otherwise, just search for messages."<br>
+        input first isUppercase ifTrue:<br>
+                [(UIManager default classFromPattern: input withCaption: '')<br>
+                        ifNotNil:[:aClass| ^ToolSet browse: aClass selector: nil].<br>
+                newContents := input, ' -- not found.'.<br>
+                self searchTerm: newContents.<br>
+                self selection: (input size+1 to: newContents size).<br>
+                self currentHand newKeyboardFocus: morph textMorph.<br>
+                ^ self].<br>
+ <br>
+        "Default to browse message names..."<br>
+        ToolSet default browseMessageNames: input!<br>
-        input first isUppercase<br>
-                ifTrue: [<br>
-                        (UIManager default classFromPattern: input withCaption: '')<br>
-                                ifNotNil:[:aClass| ^ToolSet browse: aClass selector: nil]<br>
-                                ifNil: [<br>
-                                        newContents := input, ' -- not found.'.<br>
-                                        self searchTerm: newContents.<br>
-                                        self selection: (input size+1 to: newContents size).<br>
-                                        self currentHand newKeyboardFocus: morph textMorph.<br>
-                                        ^ self]]<br>
-                ifFalse: [<br>
-                        ToolSet default browseMessageNames: input].!<br>
<br>
<br>
</div>
</span></span>
</div></blockquote></div>