[squeak-dev] Reusable browsers was Re: About HyperCard

Chris Muller asqueaker at gmail.com
Thu Feb 28 19:57:07 UTC 2013


I'm the one that wrought the "Reuse Windows", and "traceMessages"
preferences.  They are part of a triad of preferences (the third is
"alternativeBrowseIt") that, when set, support a totally non-modal
approach to browsing and development.  Rather than navigating around 4
or 5 big PackagePane browsers, the idea is to "follow behavior" by
spawning new HierarchyBrowsers straight out of highlighted chunks of
code.  Rather than selecting classes and methods in lists so much,
windows are constantly opened and closed.

Notice when "alternativeBrowseIt" is selected, you can simply
double-click the argument of a method, such as:

  add: anException   "<---- double click to highlight 'anException'"

and press Command+B to browse the Exception class hierarchy.  If there
is already a class browser on Exception which does not have unsaved
edits, it is brought to the top rather than opening yet-another one
("Reuse Windows").  Note Reuse Windows works for most kinds of windows
including Monticello windows.

To "go back" simply position the cursor on the "prior" window
(underneath) or on the desktop and press Command+w to successively
close the top-most windows.  I actually stopped using OCompletion
because this approach was actually more productive for me.

traceMessages is along the same lines, I can hardly even work in
Smalltalk without this.

> Herbert wrote:
>> to get this behaviour the Preference "trace messages" needs to be
>> enabled. checking... Right now this only works for implementors,

It works for both.  You can press Command+S in the message-list for
senders to be outdented above.  For implementors, just highlight the
message in the code at the bottom and press Command+M.  You can even
select it "grossly" and there can even be intervening code in the
middle of a keyword message and it will still work!

Warning:  Once accustomed to the productivity of non-modal
development, it's very hard to go back!  :)




On Thu, Feb 28, 2013 at 1:15 PM, David Corking <lists at dcorking.com> wrote:
> Frank Shearar wrote:
>
>> What does "reusable" mean here? If you mean that navigating to
>> something doesn't spawn a whole new window, then we _sometimes_ have
>> reusable browsers. For instance, in a Browser, selecting a class name
>> and pressing <alt>-<shift>-b will, within the same Browser, jump to
>> the new class.
>
> Yes - I mean "don't spawn a new window". I wasn't aware of that hotkey.
>
> Other nice features of the message list in Moshi are forward and back
> buttons, a browseable history, and a 'reusable' toggle button, to make
> it spawn a new message list without learning a hot key. (It is the
> forward and back buttons I recognise from Newspeak and Amber.)
>
> Thanks Herbert and Frank for explaining how to uncover the features
> for class and message implementor.
>



>
> I set the preference and still get a new message list for each
> implementor I select (trunk 4.5  #12400) when I click the implementors
> button - but the list _is_  reused on cmd-m. A win for the keyboard.
> Thanks again.
>
> Have fun! David
>


More information about the Squeak-dev mailing list