http://forum.world.st/file/n4905883/squeak-shell-2.gif
See SqshCommandLine >> #editText to understand extension points (shortcuts) inthe command line and how to run custom applications (i.e. subclasses of SqshController).
Best, Marcel
David T. Lewis wrote
This is a really nice demonstration of how Projects work in Squeak. It is completely different from either Morphic or MVC, and the removal of the traditional GUI makes it clear that Projects are not directly tied to any one mode of user interaction.
The shell itself has an interesting conceptual model. We usually think of a "shell" or "console window" that navigates around file systems, such that where you are in the shell is based on a current working directory in a file system. But in SqueakShell we are navigating in the object space.
And of course the text-mode Squeaky the Mouse logo makes for a compelling user experience :-)
I would encourage everyone to try loading this and playing around with SqueakShell.
Dave
On Fri, Jul 08, 2016 at 07:17:26AM -0700, marcel.taeumel wrote:
Hi, there!
I am happy to announce a new kind of project for Squeak: "The Squeak Shell". :-)
You can install it into any trunk image via:
Installer swa project: 'SqueakShell'; install: 'SqueakShell'.
Then you will find a new kind of project under Projects -> New Project ...
The Squeak Shell is independent from Morphic and MVC. It's architecture is, partially, a mixture of both. :-D I wanted to keep it as simple as possible while avoiding global state as much as possible.
My goal is to add it to trunk to simplify modularization of MVC and Morphic. For example, we have to extract UserInputEvent and Canvas from Morphic into the base system. These would form a splendid addition to other projects because object-oriented event processing and displaying is not something that only Morphic should have.
The Squeak Shell helped me refactor Squeak's project mechanism. It also revealed potential improvements for our Debugger, which I am going to address later this year. One goal is to make Squeak more robust and mitigate the risk of getting locked out of the system.
Here is the interesting part: It can be used to recover from serious/recursive errors in Morphic and MVC. When you open a new Morphic project from within a Squeak Shell project, the shell will appear then. Only recursive errors in the shell will then start our traditional emergency evaluator.
Some figures: 12 classes, 274 methods, 1454 LOC.
You can open the Squeak Shell on top of the Morphic loop ("SqueakShell open") or as custom process inside the Morphic project ("SqueakShell openConcurrent"). You enter a SqueakShell project via: "SqueakShell openAsProject".
The core of the Squeak Shell covers only 6 classes (see "SqueakShell-Core"). There are already two applications in this project: (1) a command line and (2) a text editor (see "SqueakShell-Tools").
You can use the Squeak Shell to explore all our tool extension points, which we use for browsing classes, inspecting objects, debugging unhandled errors in processes, etc. For this, take a look at SqshProject, SqshToolSet, and SqshUIManager.
I am sure that there can be an even smaller kind of project. However, I am not so sure about the usefulness of such a project. :-)
<http://forum.world.st/file/n4905613/shell.png%3E;
Have fun! Marcel
-- View this message in context: http://forum.world.st/ANN-The-Squeak-Shell-tp4905613.html Sent from the Squeak - Dev mailing list archive at Nabble.com.
-- View this message in context: http://forum.world.st/ANN-The-Squeak-Shell-tp4905613p4905883.html Sent from the Squeak - Dev mailing list archive at Nabble.com.