User Interface
The early versions of Symbolics Genera were built with the original windowing system of the Lisp Machine operating system. Symbolics then developed a radically new windowing system named Dynamic Windows with a presentation-based user interface. Many of the applications of Genera have then been using Dynamic Windows for their user interface. Eventually there was a move to port parts of the window system to run on other Common Lisp implementations by other vendors as the Common Lisp Interface Manager (CLIM). Versions of CLIM have been available (among others) for Allegro Common Lisp, LispWorks and Macintosh Common Lisp. An open source version is available (McCLIM).
Dynamic Windows uses typed objects for all output to the screen. All displayed information keeps its connection to the objects displayed (output recording). This works for both textual and graphical output. At runtime the applicable operations to these objects are computed based on the class hierarchy and the available operations (commands). Commands are organized in hierarchical command tables with typed parameters. Commands can be entered with the mouse, keystrokes and with a command line interface. All applications share one command line interpreter implementation, which adapts to various types of usage. The graphical capabilities of the window system are based on the PostScript graphics model.
The user interface is mostly in black-and-white (since that was what the hardware console typically provided). But there was also extensive support for color (using color frame buffers or X11 servers with color support). The activities (applications) are using the whole screen with several panes (though windows can also be smaller). The layout of these activity windows adapts to different screen sizes. Activities can also switch between different pane layouts.
Genera provides a system menu for controlling windows, switching applications and for window system operations. Many features of the user interface (switching between activities, creating activities, stopping/starting processes and much more) can also be controlled with keyboard commands.
The Dynamic Lisp Listener is an example of a command line interface with full graphics capabilities and support for mouse-based interaction. It accepts Lisp expressions and commands as input. The output is mouse sensitive. The Lisp listener can display forms to input data for the various built-in commands.
The user interface provides extensive online help and completion of choices in various contexts.
Read more about this topic: Genera (operating System)
Famous quotes containing the word user:
“A worker may be the hammers master, but the hammer still prevails. A tool knows exactly how it is meant to be handled, while the user of the tool can only have an approximate idea.”
—Milan Kundera (b. 1929)