<div dir="ltr"><div class="gmail_default"><span style="font-size:12.8px">How about using onDNU: instead of respondsTo:?</span></div><div class="gmail_default"><span style="font-size:12.8px"><br></span></div><div class="gmail_default"><span style="font-size:12.8px">    windowColor :=</span><span style="font-size:12.8px"> </span><font color="#000000" face="arial, helvetica, sans-serif">[</font><span style="font-size:12.8px">each model windowColorToUse</span><span style="color:rgb(0,0,0);font-family:arial,helvetica,sans-serif">] onDNU: #</span><span style="font-size:12.8px">windowColorToUse</span><span style="color:rgb(0,0,0);font-family:arial,helvetica,sans-serif"> do:</span></div><div class="gmail_default"><span style="color:rgb(0,0,0);font-family:arial,helvetica,sans-serif">        [</span><span style="font-size:12.8px">UserInterfaceTheme current get: #uniformWindowColor for: Model</span><span style="color:rgb(0,0,0);font-family:arial,helvetica,sans-serif">].</span></div><div class="gmail_default"><span style="color:rgb(0,0,0);font-family:arial,helvetica,sans-serif"><br></span></div><div class="gmail_default"><span style="font-size:12.8px">I don't have a strong opinion, but it feels "cleaner".</span><span style="color:rgb(0,0,0);font-family:arial,helvetica,sans-serif"><br></span></div><div class="gmail_default"><span style="color:rgb(0,0,0);font-family:arial,helvetica,sans-serif"><br></span></div><div class="gmail_default"><span style="color:rgb(0,0,0);font-family:arial,helvetica,sans-serif">- Bert -</span></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Jul 18, 2017 at 9:14 PM, Eliot Miranda <span dir="ltr"><<a href="mailto:eliot.miranda@gmail.com" target="_blank">eliot.miranda@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">nice!</div><div class="gmail_extra"><div><div class="gmail-h5"><br><div class="gmail_quote">On Tue, Jul 18, 2017 at 1:12 AM,  <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:1px solid rgb(204,204,204);padding-left:1ex">Marcel Taeumel uploaded a new version of Morphic to project The Trunk:<br>
<a href="http://source.squeak.org/trunk/Morphic-mt.1347.mcz" rel="noreferrer" target="_blank">http://source.squeak.org/trunk<wbr>/Morphic-mt.1347.mcz</a><br>
<br>
==================== Summary ====================<br>
<br>
Name: Morphic-mt.1347<br>
Author: mt<br>
Time: 18 July 2017, 10:11:56.69381 am<br>
UUID: f95fc4b5-03e5-2f45-9a3f-087fb1<wbr>0cae98<br>
Ancestors: Morphic-eem.1346<br>
<br>
Regarding window colors and window listing, improve robustness for models that do not subclass Model and forget to provide #windowColorToUse.<br>
<br>
Note that we could have added that message to Object but I do prefer not to clutter the interface any further.<br>
<br>
=============== Diff against Morphic-eem.1346 ===============<br>
<br>
Item was changed:<br>
  ----- Method: TheWorldMainDockingBar>>listWi<wbr>ndowsOn: (in category 'submenu - windows') -----<br>
  listWindowsOn: menu<br>
<br>
        | windows |<br>
        windows := self allVisibleWindows sorted: [:winA :winB |<br>
                ((winA model isNil or: [winB model isNil]) or: [winA model name = winB model name])<br>
                        ifTrue: [winA label < winB label]<br>
                        ifFalse: [winA model name < winB model name]].<br>
        windows ifEmpty: [<br>
                menu addItem: [ :item |<br>
                        item<br>
                                contents: 'No Windows' translated;<br>
                                isEnabled: false ] ].<br>
        windows do: [ :each |<br>
+               | windowColor |<br>
+               windowColor := (each model respondsTo: #windowColorToUse)<br>
+                       ifTrue: [each model windowColorToUse]<br>
+                       ifFalse: [UserInterfaceTheme current get: #uniformWindowColor for: Model].<br>
                menu addItem: [ :item |<br>
                        item<br>
                                contents: (self windowMenuItemLabelFor: each);<br>
+                               icon: (self colorIcon: windowColor);<br>
-                               icon: (each model ifNotNil: [self colorIcon: each model windowColorToUse]);<br>
                                target: each;<br>
                                selector: #comeToFront;<br>
                                subMenuUpdater: self<br>
                                selector: #windowMenuFor:on:<br>
                                arguments: { each };<br>
                                action: [ each beKeyWindow; expand ] ] ].<br>
        menu<br>
                addLine;<br>
                add: 'Close all windows' target: self selector: #closeAllWindowsUnsafe;<br>
                addItem: [:item | item<br>
                        contents: 'Close all windows without changes';<br>
                        target: self;<br>
                        icon: MenuIcons smallBroomIcon;<br>
                        selector: #closeAllWindows];<br>
                add: 'Close all windows but workspaces' target: self selector: #closeAllWindowsButWorkspaces.<wbr>!<br>
<br>
<br>
</blockquote></div><br><br clear="all"><div><br></div></div></div><span class="gmail-HOEnZb"><font color="#888888">-- <br><div class="gmail-m_3831652039416466317gmail_signature"><div dir="ltr"><div><span style="font-size:small;border-collapse:separate"><div>_,,,^..^,,,_<br></div><div>best, Eliot</div></span></div></div></div>
</font></span></div>
<br><br>
<br></blockquote></div><br></div></div>