Introduction to the Andrew User Interface System Andrew7.5 The Andrew User Interface System (Andrew7.5) is an integrated set of tools for Unix(tm) running under X11(tm). Depending on which packages you have installed, Andrew lets you create, edit, use, and mail both documents and applications which contain typographically formatted text and embedded objects. Everything you see on the screen can be printed to any PostScript(tm) printer. Andrew applications include ez - both a word processor and a program source editor help - a help browser and the following which are both applications and embeddable objects figure - a drawing editor raster - a bitmap editor table - for both spreadsheets and printed tables image - for displaying multi-color images eq - equations. Many objects permit other objects--of any kind--to be embedded within them. Andrew provides an open system, the Andrew Toolkit (ATK), so programmers can create new objects that can be embedded as easily as those system-defined objects. The Andrew Message System (AMS) provides a multi-media interface to mail and bulletin-boards. AMS supports several mail management strategies and implements many advanced features including authentication, return receipts, automatic sorting of mail, vote collection and tabulation, enclosures, audit trails of related messages, and subscription management. What is installed? Andrew7.5 is installed by loading up to six "packages," the first of which must be 'w', the word processing packages. Your site may also have installed any of these additional packages: h - 'help' browser, help documents, and source code editors for: assembler c c++ help files idl lisp modula-2 modula-3 pascal perl rexx i - major insets: figure, image, raster, table; the ness scripting language and the ADEW developer's tool. m - mail and bulletin board reader, write, and manager d - programmer documentation a - everything not included in the above A bit of history In 1982 Carnegie Mellon and IBM entered into a joint venture and formed the Information Technology Center to design a very powerful, advanced function workstation and distributed computing environment on campus. This environment is known as the Andrew System, named for two of the university's benefactors, Andrew Carnegie and Andrew Mellon. In 1992, the School of Computer Science formed the Andrew Consortium to extend, support and distribute the Andrew User Interface System. The term "Andrew" is used for many different parts of the campus computing environment, but here it refers only to the user interface applications and toolkit. ______________________________________________________ Running Andrew To run Andrew your Unix shell's environment variables must include definitions for ANDREWDIR and PATH. You first have to find out where Andrew has been installed on your computer, the value /usr/local/andrew/ is common. For non-Bourne shells like csh and tcsh, you can set your environment variables with these commands. setenv ANDREWDIR /usr/local/andrew (or whatever) setenv PATH $ANDREWDIR/bin:$PATH For Bourne shells like sh, bash, and ksh, the commands are ANDREWDIR=/usr/andrew; export ANDREWDIR PATH=${ANDREWDIR}:$PATH The lines above can be added to your shell's initialization file to have Andrew available every time you log in. For csh the initialization file is $HOME/.cshrc and for sh it is $HOME/.profile. Extensive help files are available (if the 'h' package has been installed) under various keywords listed below. To see help on some keyword, invoke the help system with a command like ("%" is the prompt printed by the system) % help tour Once the help system is running you can ask it for help on additional topics: select the menu item "Show help on ...". When the prompt appears in the bottom line of the window, type the topic name and press the return key. Useful topics to begin with include: menus, mouse, windows, scrollbar, help, ez, messages. The tour topic lists a number of other introductory documents. Andrew Demo In order to get a feel of the Andrew User Interface System, we've provided a demo environment you can navigate through. To start it up, type the following at the shell prompt (if the 'a' package has been installed). % launch ______________________________________________________ User interface A few user interface tools are used across all Andrew applications. Here are hints to their use. Scrollbar The scroll bar is the column on the left of your windows. When a document is too long to show its entire contents in a window, you can use the scroll bar to bring different parts of the document into view. The scroll bar consists of 4 parts: 1. The buttons at either end of the bar. A click on one of these moves the display immediately to the beginning or end of the document. 2. The bar itself--the long outer rectangle between the two end buttons. The extent of the document is mapped to this bar so each point on the bar corresponds linearly to a point in the document. 3. The "elevator"--a rectangle within the bar. It indicates what portion of the entire document is currently displayed in the window. 4. The "dot"--a small square or narrow rectangle within the bar. It indicates what region of the document is currently selected. You can drag the eleveator to view a different part of the document. Or you can click the left mouse button to scroll forward through the document or the right mouse button to scrool backwards. For more detailed information on scroll bars, request help on scroll. Menus Menus are cards which contain lists of actions you can take on an entire window, or on information inside a window. "Pop-up" menus are invisible until you pop them up by pressing the middle mouse button; "pull-down" menus are pulled down from the menu bar at the top of the window. The default menu is the "pop-up", which is the described in this document. To learn more about "pull-down" menus, see the menubar help file. There are two different styles of using pop-up menus. (On machines with only two buttons, the middle button is simulated by clicking or pressing both buttons.) Style 1: Press and hold To see menus, move the mouse cursor into the body of the window. Press and hold down the middle mouse button. To vanish the menus, move the cursor outside of the menu and release the mouse button. To select an option in the menus, move the cursor so that the desired option is darkened. Release the mouse button. After you've selected an option, the menus disappear. Style 2: Clicking To see menus, move the mouse cursor into the body of the window. Click the middle mouse button. (If the menus do not appear, you held the button down too long; try again.) To remove menus, move the cursor outside of the menu and click the mouse button again. To select an option in the menus, move the cursor so that the desired option is darkened. Click the middle mouse button again. After you've selected an option, the menus disappear. Text Selection When editing text in Andrew you typically select a piece of text and then perform some action with either a keystroke sequence or a menu selection. The current text selection is either a position between two characters as indicated with a caret below the base line, or it is a range of text indicated in reverse video. You select text with the mouse. To set the caret: point between two characters and click the left mouse button. To select a range of text: move the mouse cursor to one end of the range and press the left mouse button. While holding it down, move to the other end of the range and let the button up. To extend a range of text: move the mouse cursor to the desired end of the range and click the right button. Or press the right button and hold it down while moving the mouse until the desired range is highlighted; then release the button. Message line The bottom edge of most Andrew windows is partitioned off. When an application has a message for you, it often displays it here. Messages may also appear in a dialog box in the middle of the window or--occasionally--in the console window. If an application needs information from you, such as a help topic or a file name, it prompts in the message line and characters you type are displayed there. You may use almost all Andrew text editing operations to construct your reply in the message line. Preferences A "preference" is exactly that; you indicate your preference as to how a program should behave for you, where there are more than one behavior provided by the system designers (usually at the behest of users). When a program starts up, it consults the file "preferences" in your home directory. See the preferences help topic. ______________________________________________________ Andrew Applications For each of the following components the name of the component is a help topic. typescript ('a' package) Typescript is a window in which you type and enter Andrew and operating system commands. Commands that you enter in Typescript get passed along to the shell, a program that interprets commands for the operating system. You do not have to know more about the shell in order to use Typescript. However, if you would like to know more about the shell, you can look at the csh help document. Typescript can be used as a front end to other programs in addition to the shell. ez ('w' package) The ez help document tells you how to use EZ to create and edit text documents. Other formats (available in the 'i' package) include raster, table, and drawings (figure). Equations (eq) and animations (fad) are installed with the 'a' package. Typically, ez is started with the name of a file as its argument: ez ~/preferences If the file is a plain ASCII file, it will be maintained that way and written out that way. If styles are editted, the stored form will contain formatting information. For those accustomed to editing without a mouse, ez accepts most of the more commonly used keysequences of Emacs (help ez-keys). By setting a preference option, you can have keybindings somewhat closer to those of GNU emacs (help gnuemacs). console ('a' package) Console keeps track of of status information about your workstation and files. It can display a digital or analog clock, monitor various aspects of your system's performance, notify you about the arrival of mail, warn you about system errors, and much more. help ('h' package) Help finds and displays information about Andrew and its programs as well as about the UNIX operating system. ezprint ('w' package) Ezprint prepares document files (created using the EZ editor) for printing and then prints them. Files can also be printed from a menu option on the File card of ez menus. ______________________________________________________ Andrew insets An inset is a software package that helps you create, edit, and display information in a particular format--like a text editor lets you manipulate text, or a spreadsheet lets you manipulate tabular information. A document created with ez can have many different insets in it. For example, you can put a table inset directly into a document and edit it in place. You can also nest insets recursively, so you might have a raster inset (displaying a digitized picture) inside a table that is itself inside a text document. Several insets are also applications, meaning that they can be run as programs separately, without being inside an ez document. Most applications are editors of different types of information. The following insets are both embeddable insets and standalone applications. The first two are in the 'i' package and the rest are in the 'a' package.) raster - a raster (bitmap) editor table - a simple spreadsheet eq - an equation editor fad - a simple frame animator org - an organizational chart editor bush - a directory tree/file browser (built on org) chart - a chart/graph program (line graphs, pie charts, histograms etc.) With the toolkit, programmers can create new objects that can be embedded as easily as those that come with the system. One way to create a new inset is with the createinset command. ______________________________________________________ The Andrew Message System (AMS) ('m' package) The Andrew Message System is the system by which mail and bulletin board messages are transmitted on Andrew. The Andrew Message System includes user programs (such as messages and sendmessage) as well as underlying programs and subroutines (the message server, the CUI library, the SNAP remote procedure call package, and the guardian). The Andrew Message System also provides a White Pages facility that can be used by mail-sending programs for matching user names to user ids so that mail can be sent to Andrew users by their names as well as by their user ids. More detailed information about the Andrew Message System can be found by requesting help on AMS.