]Oberon12.Scn.Fnt ZParcElemsAlloc Oberon14b.Scn.FntOberon24m.Scn.Fnt (@Oberon10.Scn.FntYOberon12i.Scn.Fnt1  IconElemsNewAAClockElemsNewN N \ \ Oberon10i.Scn.Fnt }A HP-OberonTM Copyright (C) Institut fr Computersysteme, ETH Zurich, 1990-1995. Permission to use, copy, modify and distribute this software and its documentation for any purpose is hereby granted without fee, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation, and that the name of ETH not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission. ETH makes no representations about the suitability of this software for any purpose. It is provided "as is" without express or implied warranty. ETH DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL ETH BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. <- This is the Scroll Bar In order to scroll upwards, move the mouse into the Scroll Bar next to the line that you wish to move to the top of the window. Then click (press and release) the left mouse button. Scroll backwards by clicking the right mouse button while the mouse is in the scroll bar. Click the middle mouse button in the scroll bar for absolute positioning. Getting started with Oberon Oberon is an extensible system. There is no difference between functions offered by the operating system and functions added by a user which enhance the basic system. As a matter of fact, Oberon abandons the notion of a Program altogether. Atomic actions in Oberon are called Commands. Commands are parameterless procedures which may be executed directly from the operating system interface. Procedures from anywhere in a module hierarchy may be called in this way and there is no need for a "top" module which distributes commands to other modules. Instead, command distribution is built into the operating system. When a command terminates, control is passed back to the operating system's main loop. However, the module that contained the last command remains loaded in the system and all of its global variables remain unaltered. Subsequent commands may reference these variables freely. The granularity of commands may be quite fine. Typical commands display the directory of a storage device, increase the font size of the text last selected or compile the contents of the active window. A user may execute commands in any sequence and may thus be working on completely different problems in different windows at the same time. We call this "one-process multitasking". Using Commands Commands are activated by the use of an Action Button, which is mapped to the middle mouse button. Pressing the Action Button while pointing at any text anywhere on the screen will try to execute a command of that name. This may be text in a word processor document, captions in a drawing, or even the title string of a window. The system will then attempt to interpret the text that is pointed at as "Modulename.Commandname" and search for the corresponding module, possibly loading it from disk if it cannot be found in memory. If the module is present or can be loaded, it will then search for the requested command and execute it. If the module or the command cannot be found, the system will simply resume its previops state. For example, the text written in italics following this paragraph is a command that will display the current time in the System.Log (the window in the upper right corner). Execute this command by moving the mouse over it and clicking the middle mouse button. System.Time Extensibility The main feature of Oberon is extensibility. A user can add an arbitrary number of commands to the system at any time simply by writing a module and compiling it. There is no need to install the command (it may be activated as soon as compilation is completed) and modules containing commands are not added to the system until an actual call is made. The of commands that users keep (called Tools in Oberon) are regular text documents and freely editable. Even the basic resources of the system are extensible. For example, the editor you are just using supports "live" extensions of characters which are sent messages when editing operations occur. The moving objects that you see below are such "extensions" of characters. They float in the text just as characters, and may be cut, copied and pasted.  To Probe Further Additional documentation is supplied in this distribution. Execute the command below (by clicking the middle mouse button under it) for viewing an introduction into the Oberon System. Edit.Open Oberon.Guide.Text The document describes the basic system on the Ceres computer. Important differences of this implementation are described in another document. Edit.Open HPoberon.Guide.Text Portability Oberon is also available for Ceres, Sun SPARC, Apple MacIntosh, Digital Equipment DECStation, IBM RS/6000, Silicon Graphics, HP Apollo Serie 700, MS-Windows 3.x and Windows-NT (Intel). The Oberon libraries on those machines as well as the document architectures in all implementations are identical. For example, you could open this document on any of the machines mentioned above and see the same moving icon and clocks, despite even the fact that not all of the machines use the same byte ordering. Comments We propose to discuss Oberon related topics in comp.lang.oberon on usenet. Any problems or comments can also be reported to Institut fr Computersysteme ETH-Zentrum CH-8092 Zrich email: oberon@inf.ethz.ch Hints The drawing of characters is somewhat slow on the X11 version if you did not install the Oberon fonts as X-Windows fonts on the machine you are running the X-Windows server on. The tool InstallXFonts.Tool is provided for assisting in installing them.