The user interacts with O through a terminal and a graphics window. Some commands will be typed on the terminal, others will be activated on the screen by picking, clicking, pushing, pressing, flipping or popping the appropriate pointing device. Since the program is modeless, this can be done completely at the user's discretion. Generally, all commands are in free format and consist of a keyword possibly followed by one or more parameters. A command may be in upper or lower case letters, and may be abbreviated as long as it remains unambiguous. The underscore (_) character, which is a part of most minor menu names, is special. If the input command contains one, then the parser skips to a _ in the minor menu name. For example: if you wish to activate Lsq_explicit, then typing any of the following is OK:
lsq_explicit lsq_e ls_e l_e
However, lsq is not be sufficient because the command Lsq_improve also begins with the same characters. In macros, it is advisable to use the full command name for readability; in interactive work, the user will quickly learn the shortest possible form of the most commonly typed commands.
Special care must be taken with inputs requiring text strings where buried spaces are allowed. Such input can be delineated with double quotes ( ").
If the command requires parameters, and not all were entered on the same line as the command keyword, the program will prompt for the parameters by displaying the current values between square brackets:
Define cell parameters [ 98.2 100.8 162.0 90.0 90.0 90.0 ]:
Hitting [CR] will keep the current parameters. If the first one is wrong, it is sufficient to type the first number; the rest will keep their current values. If the third one is wrong, a comma can be entered for each parameter that should remain unchanged, i.e: entering
,,160.8
would change the length of the c-axis in this case.
Any number of commands and command inputs can be typed on the line in one go. They must be separated by at least one space. The effect of a [CR] on a prompt can be produced with the semi-colon character ( ; ), so that
ca ;
is the same as typing ca followed by a [CR] at the prompt.
The following line
write .lsq_rt_a_to_b ; (3f10.3)
writes out on the terminal the contents of a parameter block produced using the Lsq_improve command. This would give the same result as typing four lines:
write<cr> .lsq_rt_a_to_b<cr> <cr> (3f10.3)<cr>
although the latter would produce prompts after each [CR]. This is recommended when dealing with an unfamiliar command.
The parser recognizes 4 special characters, @, !, # and
$. The @ character before a keyword specifies a macro file of
commands. All characters following a ! on a line are treated as
comments. The special character, #, is mainly used in macros. The
character string between a pair of #'s will be written to the terminal and
be replaced by whatever is typed at the terminal. This allows macros to
prompt for terminal input (see the @save_as macro in Appedix
E). The special characters recognized by the parser can
be protected from expansion if they are escaped by a backslash character
(\)
.
A word starting with a $ is recognised as a possible symbol and will be expanded by the parser if it is found in the symbol table. Symbols are especially useful when creating macros. The symbol name to be expanded may be enclosed in braces (${ symbol}), which are optional but serve to protect the variable to be expanded from characters immediately following it which could be interpreted as part of the name. Brace expansion of symbols were introduced in O version 5.10.3.
All input can be typed in upper or lower case, or intermixed any way the user prefers. The same is true for symbols; in contrast to the UNIX operating system, symbols are not case sensitive inside O.
The view into the 3-D window is usually controlled by a set of physical dials. These dials are also used as inputs for many O commands. A mouse is used to pick atoms and items on a screen menu.
In the SGI 4D version of the program, there is the possibility to use a separate window of virtual dials that can be activated by the mouse. When the pointer is in the graphics window, the mouse can also be used to control some of the viewing operations.