The colorForth Human Interface

Your interaction with colorForth is accomplished by using a PC keyboard and a graphic display. As you will see, colorForth has unique human interfaces and we are continually experimenting with improvements to them. In fact, each colorForth application may define its own customized human interface if appropriate.

Situational awareness is very important in colorForth! The meaning of pressing a given button on the keyboard varies as your actions change the system from one state to another. With this economy of motion comes the requirement that you maintain a heightened awareness of system state from keystroke to keystroke. With only a very few exceptions, the system state and the meanings of the keyboard buttons are apparent from a glance at the screen once you are familiar with colorForth. Until you are, however, use caution as you would when learning any other new psychomotor skill! For example, quickly drumming the keys in frustration would yield only laksjdf on a plain old text editor which could easily be un-done with backspaces. However, in the colorForth editor such non-deliberate use of keys can have truly amazing, unintended consequences, and by the time the actions have been taken you may have to audit your whole disk to find out what you have wrought! We recommend that you keep cats and small children away from your keyboard when colorForth is running.

Most people find that once they have mastered this new skill it works well for them, and that with the simple but powerful set of tools in colorForth it's a pleasingly productive environment. Take your time getting accustomed to it, and it should serve you very well.

We'll start with the Interpreter interface since it's the first thing you encounter and contains good examples of the common display elements. Here is what you see on booting arrayForth:

boot display

The above display is composed of two major elements: The logo, with the "arrayforth" label, and the interpreter's feedback which is shown in the black areas at the bottom of the screen. The annunciator reading "qwer" is part of this feedback. The feedback is comprised of several distinct components that may be used in other applications' interfaces; these components are discussed below.

The first of the two major elements, the logo, may be replaced during use of the system by other things such as the listing of a block. The interpreter simply displays this element, whatever it is, with the interpreter's feedback superimposed over it. The entire screen is refreshed, from whatever raw data each part is based on, each time you strike a key; thus, the effects of interpreter interaction may be seen right away when they occur.

Interpreter Feedback Area

There are three main sections in this area; here is an example showing all three:

feedback area

The annunciators "qwer" and "text" are part of a keyboard / control panel hint rectangle at the lower right corner of the screen. The word "png" is feedback showing the word most recently typed; it changes as you key additional characters. The number 50389 shows the stack content; it is presently the only item on the stack. While you are typing a word or number, the binary value of that number or values(s) of the word are shown at the top of the stack (top is on the right.)

Here is what you see if you have pushed five numbers, one through five, onto the stack and then typed png to capture the screen:

stack example

Caution: The stack display presently shows the entire content of the stack, no matter how large. If the stack doesn't fit on one line, the display wraps and another line is shown. If the stack is deep enough, the system will trap while displaying the stack.

If you type a word that the interpreter cannot find in the dictionary, a question mark is appended to the display of the most recently typed work. Here is an example resulting from trying to interpret an unknown word "poobah":

unknown word

Keyboard / control panel hint area

What you see in this area depends on the application with which you are interacting. Some applications are operated by pushing buttons on a keyboard "control panel" rather than by typing text; some examples of this are the flat layout display, the hardsim viewer, softsim, and in fact even the Editor. In other contexts, the keyboard is being used for input of text (words, numbers); examples are the Interpreter, and the editor when you have selected a color for text entry. Such cases are called text entry mode.

In text entry mode, one of two possible keyboard behaviors is active: QWERTY, or dvorak. Anything colorForth understands may be typed using either keyboard, but each his its own meanings for the keyboard buttons, each has a different protocol for indicating whether a word or a number is being entered, and each makes different use of the keyboard hint area of the display.

Selecting QWERTY or dvorak keyboard

colorforth lets the user choose the historic dvorak keyboard setup for colorforth or a traditional qwerty setup. The system defaults to qwerty. To change the system to a dvorak keyboard type on the qwerty keyboard, 648 edit and begin editing block 648. Scroll down using the keys for right and down to place the cursor just after the word qwerty and press the key labeled "c" for color change. Make the phrase white instead of yellow to disable the qwerty keyboard setup at startup. Exit the editor with the spacebar and type save to save the system setup to default to dvorak keyboard use and/or type warm to restart using the dvorak keyboard setup.