[squeak-dev] The new object based UI is a disaster for certain tasks

Marcel Taeumel marcel.taeumel at hpi.de
Fri May 28 05:40:52 UTC 2021


Hi Eliot,

cut/copy-and-paste removes it. And so does CMD+0. The preference is called "interactive print-it" and can be disabled.

IMO, we should have a simple filter for such primitives that can easily inspected in their text form. Strings, Symbols, literal arrays.... http://forum.world.st/The-Inbox-Morphic-ct-1586-mcz-tp5106774p5129065.html [http://forum.world.st/The-Inbox-Morphic-ct-1586-mcz-tp5106774p5129065.html]

Best,
Marcel
Am 27.05.2021 18:54:11 schrieb Eliot Miranda <eliot.miranda at gmail.com>:


On Thu, May 27, 2021 at 9:42 AM Eliot Miranda <eliot.miranda at gmail.com [mailto:eliot.miranda at gmail.com]> wrote:

Hi All,

    there *must* be a simple way to avoid the object selection behaviour of the new print it. 

OK, I get it.  I have to do copy, paste and then the underlying object disappears.
Here's a motivating example.

Today I wanted to examine the difference between two classes in a particular package.

(StackInterpreterSimulator organization categories select: [:c| c beginsWith: '*VM']) select:
[:c| (StackInterpreterSimulator organization listAtCategoryNamed: c) ~= (CogVMSimulator organization listAtCategoryNamed: c)] #(#'*VMMakerUI-InterpreterSimulation-Morphic' #'*VMMakerUI-user interface')

Then I wanted to see what the difference was. An initial use of copyWithoutAll: gave me unexpected results.  So I eyeballed the two categories:

#(#'*VMMakerUI-InterpreterSimulation-Morphic' #'*VMMakerUI-user interface') collect:
[:c| {CogVMSimulator organization listAtCategoryNamed: c. StackInterpreterSimulator organization listAtCategoryNamed: c}]

 #(#(#(#eventQueue #openAsMorph #openAsMorphNoTranscript #windowColorToUse) 
#(#eventQueue #openAsMorph #openAsMorphNoTranscript #openAsSimulatorMorph #windowColorToUse)) #(#(#evaluatePrinter:on: #headFramePointer #headStackPointer #printFrame:WithSP:on: #toggleTranscript #utilitiesMenu:) #(#evaluatePrinter:on: #headFramePointer #headStackPointer #printFrame:WithSP:on: #setClickStepBreakBlock #toggleTranscript #toggleTranscriptForSimulatorMorph: #utilitiesMenu:))) 

The first thing I was frustrated in was to add some carriage returns, so I could see.  I wanted to format the output thus:

#(#(#(#eventQueue #openAsMorph #openAsMorphNoTranscript #windowColorToUse)
#(#eventQueue #openAsMorph #openAsMorphNoTranscript #openAsSimulatorMorph #windowColorToUse))
#(#(#evaluatePrinter:on: #headFramePointer #headStackPointer #printFrame:WithSP:on: #toggleTranscript #utilitiesMenu:)
#(#evaluatePrinter:on: #headFramePointer #headStackPointer #printFrame:WithSP:on: #setClickStepBreakBlock #toggleTranscript #toggleTranscriptForSimulatorMorph: #utilitiesMenu:))) 


Of course the only way I can do this is by cursor movement.  Any attempt to click with the mouse inspects the underlying object.  Annoying but not disastrous.  I can use the cursor keys.  So I am able with minor frustration to find that StackInterpreterSimulator implements openAsSimulatorMorph whereas CogVMSimulator does not.  Now the disastem.  i simply want to look at the implementation of openAsSimulatorMorph.  So I want to select it and type command-M for implementors.  But with the new interface I have to do cursor selection with shift, and it's getting ridiculously slow just to find the implementors of a selector.

Surely the best way would be to allow normal textual interaction but use a modifier key to inspect the underlying object.  I have to completely relearn my muscle memory and abandon my mouse to use this stuff.  And that is a disaster for me.

_,,,^..^,,,_

best, Eliot


--

_,,,^..^,,,_

best, Eliot
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20210528/23a33533/attachment.html>


More information about the Squeak-dev mailing list