Help -
The Squeak Environment
- Summary of What you may have learned in this lesson
Previous -
The Squeak Environment
Here is a summary of points with links to the appropriate place in the text (to
follow later)
A Workspace is a window in which you can edit text (and do many more things). It
can be picked up and moved about and resized with the mouse. Many windows
in Squeak including Workspaces have a topbar with title, remove, collapse,
shrink/expand and menu button. That you can write text in Workspaces, save
this to disk, and open many Workspaces and copy and paste between them.
- How to save, quit, and save and quit Squeak.
- How to recognize a walkback
and react to it (click Abandon).
- How to escape from a loop in Squeak (press Alt-. = "Alt" combined with a dot
".")
- How to collapse, expand, shrink windows, and scroll in them.
All things you can select in Squeak can be copied, dragged, resized, expanded and can be attached program code to, that makes it do things you wish it to do.
- Squeak presumes a 3- or 2-button
mouse. (It can be tweaked for a 1-button
mouse but this is inconvenient.)
- What Projects are: Full screens with all manner of
Morphs
- What Morphs are: Parts of the screen you can select and manipulate in many ways,
some standard for every morph, and arbitrarily many up to you.
What Squeak is:
a programming environment
and a programming language bundled
together. Convenient abbreviations for these two aspects are SL and SE. It is
free open source, with ALL source code for EVERYTHING made available you, to
understand, to use and to change.
That for much you can do with the Squeak environment you need little or no
programming (other than moving the mouse and hitting the keyboard)
What you can do with Squeak:
Anything a computer is capable of - write, draw,
compose and edit music, do mathematics (in new and old ways), make
presentations, play games, write and send e-mails, chat, browse the internet and
more. It is a universal environment for doing art, science, programming and
having fun using computers creatively.
Why Squeak is so different and in which ways:
programming environment
programming language
free
open source
written in itself
full source
fully comprehensible
fully alterable
fully programmable
Squeak is an environment you can use, and a language in which you can program
anything in the environment - in the sense that you can tell it what it can do
when and how.
Much of the environment is easy and fun to use, and requires no programming
A programming environment
is a program to write programs in.
Programs are messages to a computer, by which the human user tells the
computing machine what to do.
The simplest kind of programming any one using a computer in fact does and
knows how to do: Moving and clicking the mouse and hitting the keyboard.
All programming is is a human being sending messages to a computer, that
responds to these messages after which the human being can respond to these by
sending new messages.
Real programming is the writing of code that gives the computer new systematic
responses to certain messages (i.e. behavior by the human user).
Squeak is very flexible:
Everything you see can be altered in many respects -
size, color, mode of presentation and can be set in many ways.
Squeak is very versatile:
You can write, draw, compose, calculate, program,
make presentations, edit pictures edit sound, go on the internet, and many other
things
Squeak is very powerful:
The user environment you are in and see itself is
written in Squeak, which is a universal programming language of great elegance.
Anything that a computer may compute, may be written in the Squeak Language,
while the Squeak Environment gives you full command and access to it, and to
everything Squeak is and can do.
Squeak is very easy:
Much of Squeak powers is very easy to access and use,
though again it takes some getting used to because Squeak is so different and so
powerful, complex and many-facetted.
Squeak is fun:
It is great fun once one has gotten used to the environment.
Also, it can be very helpful very fast, especially in education and in art.
Squeak is quite complex:
Squeak, and especially using its programming
language, also is complex, many-layered, and dificult to learn in all its many
aspects. And learning to program a universal programming language, such as Squeak
is, is never easy.
The Squeak environment
is different from any other environment because of is
it's very great versatility and power
The Squeak environment looks different in part because of what it is - an
interpreted programming environment of great versatility and power - and in part
because of how it came to be. For
Squeak is in fact the result of a continuous
development of the Smalltalk language and environment, that date back 25 years.
Squeak is interpreted unlike most other programming environments, that usually
ar compiled. In simple practical terms, compiled means faster but far less
versatile and easy to use and change.
Squeak works with a loaded image a comparatively very large precompiled set of
programming code, ready to run, and designed for very many different ends.
With and inside Squeak absolutely everything a computer can do it can be made
to do, but "everything a computer can do" is a lot, and will take a lot of
learning
Learning with a computer is for a considerable part playing with it, in a
somewhat systematic mood.
Some ins and outs about
The project
The mouse
The pop-up menus
The flaps
The key-board
For these you are referred to the text, but I'll summarize some:
In Squeak, you are always inside some
project.
A project is a full window in which you can put whatever you please, and save,
store and access as one packet full of things - text, drawings, sounds, whatever
- about some topic the project is about.
Projects are started with project buttons, which are windows that display a
thumbtail image of their full-screen display.
Projects are left by mousing up a menu that contains a "Previous Project"
option, and clicking that.
The Squeak Environment is built around using the
mouse. (You cannot fully use
it without a working mouse.)
The pop-up menus: Most windows when clicked in have a pop-up menu with options
and explanations. These are specific to those windows.
The Worldmenu (or Project Menu) comes via
Cmd-LeftClick in a project and
gives access to many other pop-ups.
Most pop-ups have a first option "Keep this menu up" or an icon of a
pin, to keep it on screen.
Many pop-ups show a help-balloon for most or all options if you put the cursor
on the option. (This may need setting in the "Preferences" pop-up.)
The flaps: In a
Project a.k.a. World window you will see a number of flaps at
the sides of the screen. If not, open the Worldmenu, click "flaps..." and click
on the squares beside the options. This displays the flaps (or takes them off
the screen).
There are seven standard flaps on the "flaps..." menu:
Navigator
Squeak
Supplies
Widgets
Stack Tools
Tools
Paint
For more see the text.
You can open any flap by clicking it's handle, and close it by clicking the
handle again, and resize it by dragging the handle.
All of the flaps open windows that are partially see through and that serve as
containers for options and stuff - text, pictures, buttons, program code, you
name it - you might want to use and keep in a store.
By dragging any item in a flap onto the screen, you put a complete working
copy of it on screen.
Morphs are parts of the
Squeak Environment that you can send
messages to and
attach program code to.
You can pick up and drag any morph with the mouse, and in generally do many
things to and with them you can NOT do with parts of the screen in other
environments.
Morphs are one thing that makes
Squeak so special and powerful: Almost
anything you see in a
Squeak Environment either is a
Morph or can be made into a
Morph.
What you can name or select in Squeak you can alter and program
systematically.
There is a Morph Catalog in the Widgets flap that lists many morphs and lets
you put copies of them on the screen.
Halos and morphs: With any morph indeed a lot of possible behavior and
appearance-changes is possible, and Squeak has a very neat way to deal with
this: Move your cursor to a morph and do Cmd+Click on it: It will suddenly show
what's called a halo of buttons around it each of which when clicked triggers
some behavior of the morph or changes some aspect of it.
Any morph has a halo, and every halo belongs to a morph.
Halos are activated by Alt+LeftClick on a part of the screen.
You can successively click to series of halos in case you are in a so-called
sub-morph i.e. a morph inside another morph.
Halos are de-activated by clicking anywhere outside the morph.
Halos contain a collapse button: The upper left circle. Clicking collapses the
morph to a bar on the screen.
Halos contain a remove button: The upper left cross. Clicking it removes the
morph to the trash bin.
Halos contain a drag button: The middle button in the upper row. Clicking it
allows dragging the morph over the screen.
Tools: If you click the Tools flap, you see a list of tables that include
Workspaces,
Transcripts,
Browsers,
Filelists, and
Preferences.
Painting: Squeak contains a basic Paint program that for all its simplicity is
quite versatile. The Paint flap starts it. (It also can be started from
the Navigator
flap).
(This is a revision of material on the site of : http://www.xs4all.nl/~maartens/
)
Previous -
The Squeak Environment