Adding Look and Feel Enhancements to Squeak 3.5

We're going to install the Skins II enhancement for Squeak 3.5. Using the image you just created and saved, we need to begin by installing SqueakMap.

Really good instructions on installing SqueakMap can be found on the Squeak Swiki at http://minnow.cc.gatech.edu/squeak/2931. If the instructions given below seem lacking for you, you may benefit from using them.

SqueakMap is the standard way that open source Squeak developers share applications and enhancements. It's built into Squeak 3.5. The SqueakMap home site is http://map2.squeakfoundation.org/sm. You can find a lot of detailed information about SqueakMap on the Swiki at http://minnow.cc.gatech.edu/squeak/2726. If you want to get started right away, follow these steps...

Choose the open... menu from the World menu. Select Package Loader...


Squeak will present a SqueakMap load confirmation dialog...

Choose "yes". Squeak will then establish a connection with the SqueakMap server and begin the installation process. It will take a few minutes to complete the SqueakMap Package Loader installation. When SqueakMap code is installed you will see the following dialog window...

Answer OK and allow the process to continue. Eventually 2 new windows will open.
They are the Packages window and the SM Package Loader. Close the Packages window. We will be interacting strictly with the SqueakMap Package Loader.

Scroll the left pane in the SM Package Loader until you find the entry for "Skins II".
In the right pane you can read about the selected package. The Skins II package has several prerequsite packages that must be loaded before it can be loaded. Skins II will do these for you as it is installed. Choose install.


The package loader will detect if required prerequisite change sets are not installed, and ask you to confirm that they should also be installed. Answer "yes" to these questions during the Skins II install process. When the install completes the entry is removed from the list.

The "Skins II" package will apply standard theme files to Squeak 3.5 windows. The next step is to find and install some themes from the Internet. Theme files currently supported by Skins II are in Ice Window Manager format (IceWM). You can find a large selection of IceWM theme files by searching the freshmeat.net IceWM section. I recommend creating a "themes" folder in your Squeak home folder and then downloading several theme files from freshmeat. Themes that I recommend for starters include:

There are dozens of theme files you can choose from. Some work better than others in Squeak. The list I recommended above seem to work decent. I'm going to use "TrueCurve" for this example.

After downloading and uncompressing the theme files of your choice you should have a folder that looks something like this:


Open up Preferences and select the "skins" tab. By default several of the skins preferences are selected. Turn on "automaticApplicationOfSkins".


Close the Preferences window. Open up a standard Squeak Browser.
From the menu in the title bar choose "select skin...".

Squeak will prompt you for the location of your themes folder.

The Skins II software scans the selected folder and presents you with a list of all valid theme files you can choose.

I selected the theme named "true curve" and the open browser window converted itself to use the theme by skinning all the visual components as defined in the theme file.

Close the open Squeak browser. Note that the "True Curve" skin has defined the window close button to be on the right side of the title bar. Squeak correctly maps the balloon help text for skinned buttons. If you are not sure which button you are going to use, you can hover over the skinned button and a balloon help text describing the button will appear. You can experiment with themes and also vary the options presented as skins Preferences. It's preliminary code, but it seems to work pretty well at this point.

The Skins II code can remain installed in your image even if you do not skin your windows. From any system window you can choose "remove skin..." from the title bar menu and the skin will be removed from that window and the window will be restored to it's original form. There is a Preference setting under "skins" that allows you to disable the automatic setting of skins for any new windows you open.

Now that we have completed this enhancement, let's get back to the development example. Continue to Using Squeak's FileList tool to copy files from another networked computer