The Undiscoverable/Squeak

< The Undiscoverable
Revision as of 03:23, 23 August 2012 by Mokurai (talk | contribs) (→‎Welcome: Workspaces for text and code)

Squeak is the version of Smalltalk used to build Etoys, which has its own page here in The Undiscoverable. While programming in Etoys is fully graphical (like Turtle Art, but much less discoverable), Squeak requires navigating a complex Integrated Development Environment and programming in text. There is a lot of tutorial material for Squeak, but much of the best material is in dead-tree textbooks. This page will give hints, plus links to free on-line resources.

Squeak is available in many Linux distributions. Install as usual, and invoke as usual. If there is only one Squeak image on your computer, it will open. If there is more than one, including Etoys, you will be given a choice of images to open. You will find it useful to save images containing your work. Name them so that you can remember which is which.

Welcome

Install and open Squeak. You will see a welcome screen, something like this. Workspaces are areas in which you can type text for display, as here, and also areas in which you can enter code to execute, as we will see below.

 

Mousing

You can click on the title bar of either of the partly hidden windows and drag it to where you can read its contents. Both describe changes in the current Squeak image that do not concern us here. Click the x at the top left corner to close each one.

You can scroll the remaining window to view its contents, or click and drag any corner to resize it. This is different from other GUIs, where the edges of a window may be draggable, as in Linux, or only one corner, as in Mac OS.

Alan Kay's team designed Smalltalk at Xerox PARC (Palo Alto Research Center) using a three-button mouse. Apple decided that three buttons was too confusing, and provided only one button (Boo, hiss!) on the Macintosh, so that you have to use confusing key-mouse combinations in Squeak on the Mac. A three-button mouse is discoverable. You point at things, and click different buttons, and different things happen. Arbitrary combinations, whether mouse chords or mouse-key combinations, are not in general discoverable.

Some mice do have three buttons. On many wheel mice, you can depress the wheel as the middle button. On a two-button mouse, or a trackball, without a middle button, you might be able to click both the left and right buttons simultaneously to get the middle button effects. This is the case on Linux, and can be programmed in some mouse drivers for particular devices on other platforms.

If you don't have a middle mouse button, and clicking two buttons doesn't do it, then control-clicking should work.

Let's try them in any of the three Workspace windows in the initial view. Left-clicking puts a cursor in the text. Try it. Clicking again in the same spot selects the surrounding word, and clicking yet again anywhere in the same word deselects the word and puts the cursor under the mouse. You can click and drag to select any contiguous portion of the text, and you can use keyboard combinations such as shift-cursor or control-cursor, or both: shift-control-cursor to extend or retract the current selection by words or lines, or to move around. Try them. It is not difficult to discover what these combinations do. You might even be familiar with them from text editors or word processors. Shift-clicking also extends the selection. It is much easier to understand how that works by trying it than by reading an explanation, so I won't give one.

There are several icons on the title bar at the top of a workspace window. If you point at one of them and don't click, a help balloon opens with a description of what the icon is for. One of the icons is for a menu, and the others are to close the window, expand it to full screen or shrink it to its previous size, or collapse the window to a tab from which you can open it again.

The main window has a tab labelled Squeak at the left, and another labeled Tools at the right. Clicking the tab expands it to a tool palette, and clicking the tab again puts it away.

Right-clicking brings up a set of icons in a rectangle, with a title at the bottom of the array. This array of icons is known as an object halo, or halo for short. Every graphical object in Squeak or Etoys has one. A single right click in a Workspace window brings up a halo with the title Workspace. A second right click shifts to a smaller halo with the title PluggableText. A third shifts to a larger halo labeled Text, with a different set of icons. We will explore the Halo below.

Middle-clicking brings up an untitled editing menu with font commands, cut, copy, and paste, print, and a number of other options.

Clicking outside the Workspace windows has different effects. Right-clicking brings up the world halo. Left-clicking and middle-clicking bring up two different world menus, both currently full of mysteries for us.

Pinning

Left-click in the background of your Squeak window to get this World menu.

We will explore some of the options on it below. Right now, look at the pushpin icon in the top right corner. You can click on it to keep the World menu open on your desktop. The pushpin icon disappears, leaving a blank are. You do not have to click the same area in order to dismiss the World menu. Click the x icon on the top left instead.

The same applies to some other menus within Squeak.

To exit from Squeak, click the close icon in the border or on the toolbar, depending on the UI you are using, or else click Quit on the World menu.


The World menus

All of Squeak is accessible to the user with a few mouse clicks. The problem is first to determine which mouse clicks, and second to determine what has been made available to you. There is a lot of it.

When you click outside the Workspace windows, you get a different halo, labeled world, and two different world menus.

The Object Halo

This article is a stub. You can help Sugar Labs by expanding it.