<div dir="ltr">The idea of this preference is you can click buttons or other list-selections which might be visible in background windows and they will be immediately activated (and the window topped) even though the window wasn&#39;t already on top.  So it can save you a click and its the way traditional MS Windows has behaved.  In a pure sense, it is even somewhat less &quot;modal&quot;.<div>
<br></div><div>The trade-off is that you can no longer just sloppily Top-A-Window.  Now you have to pay attention to ^where-in-the-background^ you&#39;re clicking, to make sure you don&#39;t accidentally activate something you don&#39;t want to activate.</div>
<div><br></div><div>For example, if the code-pane of a background Browser is dirty, look for a spot in the text pane itself.  You&#39;ll lose any prior text-selection and cursor position, but at least it might be less-cumbersome than hitting one of the lists, because doing that would invoke a selection change, which will cause Squeak to prompt you whether you want to discard your changes.  So, maybe best to just aim for the very edge of the window to top it...  Oh, what was the benefit again?</div>
<div><br></div><div>I believe the user should &quot;drive&quot; the UI, but this creates more of a two-way interaction between Squeak and the user.  Window-switching is very frequent, the user will have to &quot;decide&quot; where the safest spot to click every single switch.  It&#39;s a bit more like being driven, than driving, and all just to save one click except, ror what has to be given up over the long run, it will actually add required clicks..</div>
<div><br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Tue, Aug 12, 2014 at 2:30 AM,  <span dir="ltr">&lt;<a href="mailto:commits@source.squeak.org" target="_blank">commits@source.squeak.org</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Marcel Taeumel uploaded a new version of Kernel to project The Trunk:<br>
<a href="http://source.squeak.org/trunk/Kernel-mt.867.mcz" target="_blank">http://source.squeak.org/trunk/Kernel-mt.867.mcz</a><br>
<br>
==================== Summary ====================<br>
<br>
Name: Kernel-mt.867<br>
Author: mt<br>
Time: 12 August 2014, 9:29:37.682 am<br>
UUID: f469a687-9e68-6542-b0ae-01fde30002a8<br>
Ancestors: Kernel-eem.866<br>
<br>
New preference added for activating system windows on first mouse click. Works for all standard tools that subclass Model for their model.<br>
<br>
=============== Diff against Kernel-eem.866 ===============<br>
<br>
Item was changed:<br>
  Object subclass: #Model<br>
        instanceVariableNames: &#39;dependents&#39;<br>
+       classVariableNames: &#39;WindowActiveOnFirstClick&#39;<br>
-       classVariableNames: &#39;&#39;<br>
        poolDictionaries: &#39;&#39;<br>
        category: &#39;Kernel-Models&#39;!<br>
<br>
  !Model commentStamp: &#39;&lt;historical&gt;&#39; prior: 0!<br>
  Provides a superclass for classes that function as models.  The only behavior provided is fast dependents maintenance, which bypasses the generic DependentsFields mechanism.  1/23/96 sw!<br>
<br>
Item was added:<br>
+ ----- Method: Model class&gt;&gt;windowActiveOnFirstClick (in category &#39;preferences&#39;) -----<br>
+ windowActiveOnFirstClick<br>
+       &lt;preference: &#39;Window Active On First Click&#39;<br>
+               category: &#39;windows&#39;<br>
+               description: &#39;Whether or not you want to directly interact with a widget (e.g. button) in a not-yet-active window&#39;<br>
+               type: #Boolean&gt;<br>
+       ^ WindowActiveOnFirstClick ifNil: [ false ]!<br>
<br>
Item was added:<br>
+ ----- Method: Model class&gt;&gt;windowActiveOnFirstClick: (in category &#39;preferences&#39;) -----<br>
+ windowActiveOnFirstClick: aBoolean<br>
+<br>
+       WindowActiveOnFirstClick := aBoolean.!<br>
<br>
Item was added:<br>
+ ----- Method: Model&gt;&gt;windowActiveOnFirstClick (in category &#39;user interface&#39;) -----<br>
+ windowActiveOnFirstClick<br>
+<br>
+       ^ self class windowActiveOnFirstClick!<br>
<br>
<br>
</blockquote></div><br></div>