NAME
|
omero, olive – distributed window system |
SYNOPSIS
|
o/mero [ –abcdi ] [ –m mnt ]
o/live [ –dDEFKLMPTW ] [ odir ] sdir |
DESCRIPTION
|
This manual page is both an introduction and documentation for
the user interface to the window system. After reading it, it
is suggested to read ox(1) for a description of the editor and
shell interface. The Octopus the window system, o/mero, does not draw and does not interact with the user. O/mero implements a file tree that represents a tree of graphical panels. Flags –abc are similar to the bind(2) flags of the same name. Option –m can be used to select mnt as the mount point instead of the default /mnt/ui. Under flag –i the standard input is used as a connection to the client. All user interfaces are created as subtrees of the file tree maintained by o/mero. The graphical representation of panels in the screen corresponds to the file tree serviced by o/mero to its clients. For example, a screen that contains two rows has two corresponding files in its root directory. If the user moves one row within the other using the mouse, the same would happen to their respective files; and vice–versa. The root of the o/mero file tree, mounted at /mnt/ui by default, contains a directory named appl , a file named olive , and one additional directory per screen (or session). A screen is a top–level panel used to keep other panels within. It is used to represent what is to be shown at a terminal. You can refer to omero(4) for a description of the window system and its file interface, and to panels(2) for a description of the API to the window system. O/live is a viewer that permits the user to interact with o/mero. It uses a graphical terminal to display panels according to the panel tree supplied by o/mero and accepts mouse and keyboard input to operate on the panels. O/live is the only program that knows how to draw, how to interact with the mouse and the keyboard, and how to implement particular panel (or widget) type. Different user terminals mount the same o/mero file tree and run o/live to view (parts of) it. The argument odir to o/live is the path to the root of the user interface tree. The argument sdir is the name of the screen (directory) to be shown by o/live. It is feasible to share the same screen among multiple o/lives. In this case, editions are synchronized among viewers when the mouse moves. Other flags shown in the synopsis activate various debug diagnostics and are not discussed here.
There is no way to customize the fonts or the aspect of the window
system, by design. However, setting the variable $smallfonts before
starting the viewer makes the fonts smaller than those used by
default. Also, setting $tabstop to a particular value before starting
o/mero changes the default value used for tab
width (8 by default). Panels Panels are shown at one or more screens by replicating their files from /mnt/ui/appl at one or more screen subtrees. Panel replicas may be moved around as desired. Some panels exist only within a screen subtree (are not replicated) for layout purposes, but most are replicas. There are three kind of panels: rows, columns, and atoms. Rows and columns group inner panels and handle their layout. A row arranges for inner panels to be disposed in a row. A column does what can be expected. Atoms include text, images, gauges, etc. Omero(4) describes the complete list. Any panel may have a tag (a square near its top–left corner). By default, rows and columns have tags, and atoms do not. When a panel has hidden panels within it, its tag is shown as a vertical rectangle instead of a square box. The vertical space below the tag is called the margin.
A panel may be in a dirty state, when the application using it
considers that it has unsaved state. In this case, the tag is
shown in a light green color. This happens also to any row or
column that contains a dirty panel. Selection
The selection determines the panel where to apply editing commands
and the directory where to execute external commands. Using the
left button of the mouse on a panel changes the selection to that
panel. Note that unlike in Acme, a command does not apply to the
file shown in the panel where the command has
been typed, but to the last panel selected (Labels, single lines
and buttons do not update the selection despite showing ticks
and obeying selection commands). Mouse and keyboard O/live can be used with either a two button mouse, a three button mouse, or a mouse with one button and some way to make a click with the second button. The right mouse button is always named ``button 3'', the left one is ``button 1'', and the middle one is ``button 2''. In Lsub Infernos, keyboard function keys F1, F2, and F3 act as mouse buttons 1, 2, and 3. Menus show different options in a circle around the point. To select one you must move the pointer quickly in the direction of the option. While the menu is shown, a click with the same button that raised the menu executes the last option selected in that menu. A click with a different button closes the menu without doing anything.
To aid touch pads, raising a menu and then drag with button 1
is undrestood as a drag with button 3. Tag and margin commands
Button 3 A click raises a menu with panel operations. A drag can be used to adjust the size of the panel.
The menu shown at a tag (or margin) contains the following options:
While on a tag (or a margin) the following keys perform the indicated
actions on the tagged panel: Panel commands
Button 3 A single click with the button 3 raises a menu. A drag can be used to scroll up or down. The entire panel represents the scroll bar. Scrolling speed depends on the proximity of the initial drag point to the end of the panel. Chords Chords similar to those used by acme(1) are understood as well. They can be used to cut and paste text. Refer to acme's manual page for a reference.
The menu for a panel contains the following commands:
While on a panel, the following keys have special meaning: |
EXAMPLE
|
Start the window system and a single viewer on it: # create mount points if they do not exist % mkdir –p /mnt/ui /mnt/ports # start the event delivery service % o/ports # start the window system % o/mero # create a screen/session % mkdir /mnt/ui/s0 # start the shell and browser % o/x # open a viewer for s0 % o/live s0 After exiting Olive you may run it again to see your session as it was. |
SOURCE
|
/usr/octopus/port/live /usr/octopus/port/mero |
SEE ALSO
|
ox(1), ports(4), panels(2), omero(4), and snarf(1). |
BUGS
|
Under certain circumstances Olive may report a concurrent edition
when that is not the case. The only way out from this is to use
the menu at the tag to close the panel and then reopen it again.
This should be fixed. |