Help - The Squeak Environment - 7. What you can do with the environment?

Previous - The Squeak Environment - Next

The brief answer is: Absolutely everything a computer can do - in a comparatively easy and pleasant way. But indeed "everything a computer can do" is a lot, and will take a lot of learning - although it deserves stressing that "learning" with a computer is for a considerable part playing with it, in a somewhat systematic mood.

So here I will be concerned only with the most basic and universal elements in the Squeak Environment:

The project
The mouse
The pop-up menus
The flaps
The key-board

The project: In Squeak, in fact you are always inside some project, which basically 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 mouse: The Squeak Environment is built around using the mouse. You can select many things on the screen, and click, double-click, Alt-click, resize, move, close, and collapse them (where "collapse" means: keep on screen in a reduced form, as this textwindow when you click the righthand circle in the top bar).

In part, this concerns textwindows, browsers, and other stuff we shall learn more about, and is connected to windows you see on the screen.

More complicated options for the mouse follow:

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 project windows when left clicked come with a World Menu (or Project Menu). This gives access to many other pop-ups. These we shall meet later in this User Manual. Here I only note you can get rid of a pop-up by clicking outside it, while you can keep it on the screen by clicking its first option "Keep this menu up". Most pop-ups have this, and so you can put a lot of pop-ups on your screen to survey the very many options you have and get some help. Also most 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, that's briefly discussed in the following subject.)

The flaps: In a Project a.k.a. World window you will see a number of flaps at the bottom of the screen. If not, open the World Menu, click "flaps..." and click on the squares beside the options. This displays the flaps (or takes them off the display).

There are seven standard flaps on the "Worldmenu-flaps..." menu:

Stack Tools

The Navigator flap on the bottom of the screen contains "PREV" for "Go to previous project" and a version of the "Make a painting" flap. This last one we shall return to in the next lesson in this User Manual. Also, this option contains "Escape browser" which in fact means Squeak takes over the full screen.

Here we turn first to the six flaps, and discuss them briefly.

How to work with the flaps

First, 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.

What are these flaps? 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. You can drag things on screen to a flap, and drop it into the flap, and close the flap as if you had put the thing you dragged there in a cupboard. Reversely, by dragging and dropping any item in a flap onto the screen, you put a complete working copy of it on screen. And some flaps hold more specific options. Here is a basic survey:


This pops up if you mouse over it, and contains the following, all with their help-balloons

a project





a project

a project

Escape Browser
Make Squeak take over the full screen

Hide Tabs
Hide flaps

Paint flap
Start a new painting

Undo last command


Only a few deserve any comment here and now: "Escape Browser" does as the explanation says (no more Windows stuff visible!) and can of course be undone; "Hide Tabs" still follows an alternative naming convention for flaps; "Paint flap" starts a simple program to paint with, that for all its simplicity is very handy and elegant; "Undo" can be shown by picking up a morph (see below under "Supplies") with the mouse, putting it elsewhere on the screen and clicking "Undo", and "NEW" very simply and neatly starts a new project.


This flap contains a number of options that I list here for brief comments:

< Go.. >:
An easy way to shift to another project.

An easy way to save the whole state of the Squeak system. See image.

File out changes:
Puts your latest programming work in a file on disk.

An active clock showing the current system time.

Pops up a window in which you can set very many preferences.

Load code updates:
Get the lastest code-additions to Squeak from the internet. (You need be connected.)

About this system:
Shows you how many code-additions you have loaded from the net.

Trash bin:
Contains what you have deleted, ready for restore or definite removal.
Doubleclicking on it shows its content plus a little help.

There is more to say on each option. All I say here is that the Go switch is convenient, and saving your image OFTEN helps not loosing your work.


This flap contains more morphs about which more will be said later.

However, here is one very important point about morphs.

Open the Supplies flap, select the star with the mouse and drag and drop it somewhere on your screen. (If you check Supplies you will see you have indeed a copy, not the original.)

If you click this star it shows a shadow, and you can grab and drag and drop it with the mouse. This is what you can do with any morph, and the star indeed is a morph.

Furthermore: With any morph indeed a lot of possible behaviors and appearance-changes are possible, and Squeak has a very neat way to deal with this: Move your cursor to the star and do Alt+LeftClick on it: It will suddenly show what's called a halo of buttons around it. Like so:

This halo of buttons suddenly opens very many possibilities for this simple star, one of which is by way of the lower right hand button, by which you can resize it, or the lower left hand button by which you can rotate it , or by the button above the resize button, with which you can change its color.

Try these, for while both are very simple examples of what you can do with Squeak that show things other environment just cannot do with what they display.

Any morph has a halo, and every halo belongs to a morph. About halos and morphs there is much more to say, which will happen later. For morphs are one of the great new things of Squeak, and the halos are a new way of communicating with morphs.

Here just three more basic things about halos and morphs are mentioned, all important and all making life with Squeak a lot easier:

Halos are activated by Alt+LeftClick on a part of the screen. (This part may be itself be a morph that is part of a morph, so in fact 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.) And 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.
remove button:
The upper left cross. Clicking it removes the morph to the trash bin.
drag button:
The middle button in the upper row. Clicking it allows dragging the morph.
copy button:
The upper right button. Clicking it gives you a copy.

So at this point you have already learned that the screen the Squeak Environment offers you many more capacities than ordinary environments, where parts of the screen are usually far less versatile, programmable, alterable, or open to thought and change by the user.


This flap is a collection of useful morphs. As before, a copy of any of them can be dragged onto the screen and played with. The most comprehensive of these is the Morph Catalog, which is a sorted list of morphs available to you in the current Squeak. Some of these will be discussed later on.

Now for some morphic fun and beauty!

Open the Widget tab, and get a Morph Catalog on your screen. This is in fact list of lists of morphs you can easily search through by clicking.

Use the Morph Catalog to find the 3-D morphs for a moving 3D-cube and the several magnifiers (round and rectangular) you can use to magnify arbitrary parts of the screen.

Since these are morphs grabbing them with the mouse is sufficient to put a working copy on your screen. If you do so, you will liven up your view with things other environment cannot do at all or not as well - and I have just explained how to collapse or remove these if you're tired of them. (The magnifiers are stunning with pictures on your screen to magnify. Moving your mouse while having a magnifier indeed turns it into the likeness of a real-life mirror or TV-screen.)

Stack Tools:

This flap contains morphs for a HyperCard system. Hypercards or a hyperstack are textwindows with hyperlinks to all manner of relevant material, and Stack Tools gathers the basic bits and pieces. I will say more of it later, and show and use these, for in fact hypertext is a very useful new way to deal with text and illustration in a computer. Incidentally: Html is another form of hypertext. Hypertext is text on a computer that contains links (urls in html) to other files, with supplementary information.

Incidentally, "morphs" are parts of the Squeak Environment that you can send messages to and attach program code to. The word is derived from the Greek, in which it means "form". You can pick up and drag and drop any morph with the mouse, and in generally do many things to and with them you cannot do with parts of the screen in other environments. Morphs are one kind of thing that makes Squeak so very special and powerful - for in fact 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.

This is a very fundamental feature of Squeak, and one that is missing in almost all other computer languages. (The exception is the programming language Self, which is a precursor of Squeak.)


If you click the Tools flap, you see a list of tables that include Workspaces, Transcripts, Browsers, Filelists, and Preferences. All of these will be discussed in what follows, and mostly belong to the art of coding with the Squeak Language. (Meanwhile, you can look at any of these, for these too are morphs, and you can get rid of them by their x-remove buttons. Nothing will be lost if you do so.)


Squeak contains a basic Paint program that for all its simplicity is quite versatile. The Paint flap or the Navigator tarts it , and the next part of the User Manual will describe it in a little detail. (It also can be started from the Projects flap on the bottom of the screen.)


What went into the design of the present project?

Compared to what other environments show you, in fact in this first lesson to Squeak, you will have seen a lot of rich detail and niceties missing in other environments. Yet what I have done is all very easy and can at this point be easily done by you. Here are the steps and a brief explanation:

Making a project
Getting a workspace
Writing the text
Making Drawing
Setting Background

Making a project: A project is a full-screen window in which there is whatever Squeak enables you to put into the project - text, drawings, music - it's up to your ingenuity and time. A new empty one is very easily started from the World Menu - projects - create new morphic project. This will make a new project-button for you, which in fact is a thumb-nail of the project-window.

Getting a workspace: This is as easy as opening the Tables flap and dragging a Workspace on the screen. (It's explained above how you resize, recolor and rename it. Precisely the same goes for the Project windows.) Or as easy is putting the cursor in the Project window outside a morph and typing Alt-k.

Writing the text: For this all you need is something to say, a facility to say it well, and the handiness to type. These are all up to you, and typing you will have to learn and will learn by doing it (with or without the help of some program). There is one problem with Squeak-as-is: The key-board does need some getting used to, and is a bit different and in part less slick than is a Windows text-editor. Also, on the moment Squeak has fewer fonts available than one would wish. The available fonts and the keyboard handling will be soon improved, and there is a convenient workaround for those writing long texts: You can do it in any editor you please; save it as text or html; and then load that into Squeak. This you can do by a filelist or by Scamper - and a filelist is indeed a list of files from which you can choose, much like MicroSoft's Explorer, while Scamper is Squeak's internet browser and displays html.

When writing long texts I found this more convenient - but all of the present text has been typed inside a Workspace inside Squeak in the first version. After having done that I have copied the result to my html-processor, and re-edited it some and added the last section of summary points, saved the result to disk and loaded it back into Squeak - which illustrates that while all things a computer can do can be done inside Squeak, Squeak also makes it perfectly easy to work interactively with other programs at the same time.

Finally, the coloring of the text in the Workspace is done by way of the menu popped up when pressing Alt-6 i.e. "Alt" plus "6", while the size is set by way of Alt-a (select all text) and Alt-k (font-size).

Making a drawing: Here I used the Paint program of Squeak, which will be more fully explained in the next lesson. All I did was in fact to use a tool to paint stars, resize the drawing, and drag it about to a convenient place.

Setting Background: One of the many things Squeak is is a Graphical Programming Environment. It is very easy to work with pictures, drawings, bitmaps and the like in Squeak. To set a background all you need is to open a filelist on a gif-file, right-click on it for a pop-up window and use the option "open image as background".

Previous - The Squeak Environment - Next