OMERO(1)                                                 OMERO(1)

     NAME
          omero - Plan B portable window system

     SYNOPSIS
          omero [ -A ] [ -dDCFLBMTS ] [ -n addr ] [ -p ] [ -V volspec
          ] [ -t mouseaddr [ initprog ]

     DESCRIPTION
          Omero is the Plan B window system and the Graphical User
          Interface resource volume.  It services a tree of files
          (i.e., a volume) to implement the Plan B GUI service.  Most
          programs that use omero have names that start with the let-
          ter o, to make it easier to locate them.

          You can refer to omero(4) for a description of both the file
          tree and the command arguments. This page is an introduction
          and documents the user interface to the window system.

          Unlike other window systems, omero implements both window
          management and the set of GUI components available.  In this
          respect, it is both a window system and a GUI toolkit. The
          user interacts with omero using any keyboard and pointing
          device avalable in the network, see oscreen(1) for examples.
          Applications interface with omero using the files in its
          volume, and perhaps listening for omero events. This is usu-
          ally done via omero(2) routines.

          Omero starts ox(1) automatically, to permit file edition,
          command execution and file browsing. Other applications may
          be started by the user, or by supplying a initprog rc script
          to the program.

          A screen handled by omero consists of a tree of graphical
          panels. 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, and the like.  See omero(4) for the
          complete list.

          The graphical representation of panels in the screen corre-
          sponds to the file tree serviced by omero to its clients.
          For example, a screen that contains two rows has two corre-
          sponding 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.

          Any panel may have a tag (a square near its top-left cor-
          ner). By default, rows and columns have tags, and atoms do
          not. This can be changed through the file system interface.

     OMERO(1)                                                 OMERO(1)

          The vertical space below the tag is called the margin.  When
          a panel has hidden panels within it, its tag is shown as a
          vertical rectangle instead of a square box.

          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.

          The delete key sends an interrupt request to the applica-
          tion. Note this is different from sending a system interrupt
          to stop it. To stop applications, you must use a command to
          send interrupt notes to them. This may change in the future.

          The Escape key selects all the text typed since the last
          click of the mouse. The Return key does the same and
          requests the execution of the selected text.

          Omero uses a three button mouse. In Plan B, the left
          control, Start, and Alt keys in the keyboard are equivalent
          to the left, middle and right mouse buttons.  Later we
          describe the mouse operations available in tag and margins,
          and then we describe the mouse operations available within
          atoms.

          If one or more mouse addresses are given with option -t
          omero intercepts function keys (starting at F1) and redi-
          rects the mouse to the corresponding address when the func-
          tion key is pressed.

        Selection
          The user selection and clipboard are maintained by a
          resource volume, which is usually shared among Plan B termi-
          nals for the user. This means that operations that involve
          either a user selection, or text placed in the clipboard,
          may be performed across different machines.

        Mouse in Tag and Margins
          A click with the left button in a tag changes a row into a
          column and vice-versa.  It has no effect in other types of
          panel.

          A click with the middle button in a tag or margin maximizes
          the panel by hidding its siblings.

          A click with the right button in a tag or margin hides the
          panel.

          The left and middle mouse buttons can be used to drag a tag
          (or margin) and drop it somewhere else (press button, move
          pointer somewhere else, release).  This moves the corre-
          sponding panel to a target location. The left button takes
          as the destination the innermost row/column that is not

     OMERO(1)                                                 OMERO(1)

          created by an application and contains the target. The mid-
          dle button takes as the destination the innermost row/column
          than contains the target.

          In any case, Omero does its best to locate the panel in the
          new placement, by considering the relative position within
          the target where the drag terminated.

          The mouse wheel (or up/down arrow keys) can be used in the
          tag of a panel to control the number of inner elements
          shown.  Moving the wheel down (or pressing the down arrow
          key) in the tag of a panel, changes the number of panels
          shown within it.  This number cycles between 1 and the num-
          ber of inner panels. For example, a down arrow in the tag of
          the panel used by an application has the effect of minimiz-
          ing it (i.e. show only the first inner panel, which is usu-
          ally a text line or tag). In this example, pressing down-
          arrow once more with show the first two inner panels, and so
          on.

          Moving the wheel up (or pressing the up arrow key) in the
          tag of a panel, unhides all panels contained within it. This
          can be used, for example, to restore a previously hidden
          panel, by using up-arrow in its container.

          The wheel (or up/down keys) can be used in the left margin
          of a panel (below its tag) to cycle the order of its inner
          panels.  This is useful to see panels can cannot be seen due
          to the lack of screen space, and to change the order in
          which panels are shown.

          A chord of left and middle buttons in a tag or margin can be
          used to copy to the clipboard the path of the panel
          affected. For rows and columns with tags, this is equivalent
          of using the Sel command to snarf the path of the file that
          represents the panel.

          A chord of left and right buttons in a tag or margin can be
          used to execute the command Ocp using the contents of the
          snarf buffer and the involved panel path as arguments. This
          has the effect of replicating a panel whose path is in the
          snarf buffer.

        Mouse and Arrow Keys on Atoms
          Within a panel, a click with the left button can be used to
          set the insertion point. The left button can be also used to
          select region of text.

          A click with the middle button requests the execution of the
          command corresponding to the word or selection at the click.
          On images, the command depends on the application.

     OMERO(1)                                                 OMERO(1)

          A click with the right button sends the word or selection at
          the click to the youps(4), service to plumb the text to the
          appropriate application in the network.

          Holding the right button down is used to scroll on text pan-
          els. The scrollbar is actually the panel itself. The top
          corresponds to the start of the text, and the bottom corre-
          sponds to the end of the text.

          A chord of left and middle buttons (press left, then press
          middle, release middle, release left) can be used to cut
          text. A chord of left and right buttons pastes the text in
          the snarf buffer.

          A chord of middle and left buttons runs a command using the
          selection as an argument.

          A chord of right and left buttons extends the current selec-
          tion to the point at the chord.

          The up and down keys (or the mouse wheel) causes a text
          panel to scroll up and down. The left key performs an undo
          operation on editable text panels, and the right key per-
          forms a redo.

        Builtin Commands
          Omero understand by itself the commands:

          Row  to create a row,

          Col  to create a column,

          Ox   to run another instance of ox(1), which uses its own
               separate namespace.

          Del  to delete a panel.

          Sel  to copy to the clipboard the path of the file repre-
               senting a panel,

          Arg  to append to the clipboard the path of a panel,

          In all cases, the command argument is selected by a click
          with the left button.  For example, to delete a panel:
          Middle-click on Del and then left click in the panel. Along
          the lines of Plan 9's acme(1), all text is similar. It does
          not matter where the text of the command stands or who did
          type it.

     SOURCE
          /sys/src/cmd/omero

     OMERO(1)                                                 OMERO(1)

     SEE ALSO
          ox(1), omero(4), rio(4),

     BUGS
          Frame usage should be reworked.