FAQ: Simplifying the Interface
Last updated at 11:12 am UTC on 18 December 2003
How can I configure a Morphic World to be easier for a Squeak newbie? For instance, I'd like to disable the halos.
When you distribute a Squeak program, you typically do not want to distribute your development image. Instead, you want to distribute an image that is in a carefully chosen initial state, and you do not want end users to accidentally run the debugger or disassemble one of your morphs.
You probably want your program to be available the moment the image opens. See FAQ: How do I prepare an image/executable to start up with my application.
Disabling Programmer Facilities
The Lockdown package on SqueakMap removes the programming facilities that you would usually want to disable for end users, e.g. Halo's, the World Menu, and the Debugger. After installing it, you would use it as follows:
- Put the expression "Preferences disableProgrammerFacilities" into your "do..." menu.
- Set everything about the image exactly as you want it to appear when your target user fires it up. Make certain there are no windows left on the display. (To make it possible for the user to exit from the resulting image to be, put some sort of "exit" control somewhere on the screen.)
- Snapshot your system (just for safety).
- Choose that "Preferences disableProgrammerFacilities" from the "do..." menu
- When asked to confirm that you really want to do this, say yes.
All the bulletproofing steps will then be undertaken at once, and the system will be snapshotted in that bulletproofed state. This will be a "save as" operation, so you'll be asked to provide a new name for the image.
If subsequently you want to make any changes, fire up the earlier, prebulletproofing snapshot you saved in step 3, and resume the sequence starting with step 2.
Shrinking the Image
You may want to include less stuff in your image file. See Smalltalk majorShrink.