Using rio -Diff-
Rio is the Plan 9 window system.
To effectively use rio, you need at least a three button mouse. If you only have a two button mouse you can emulate the middle button by holding down shift key whilst pressing the right button.
Button 1, 2, and 3 are used to refer to the left, middle, and right buttons respectively.
THE POP-UP MENU
Pressing and holding down button 3 on the desktop or shell window will give you a menu with the following options:
- New
- Resize
- Move
- Delete
- Hide
You select an item by releasing the button over the menu item. rio uses the same button that started an action throughout that operation. If you press another button during the action the operation is aborted and any intermediate changes are reversed.
The menu acts as a action verb selector which then requires an object (i.e. window) to be picked to indicate which window the verb is to act on. A further mouse action may then be required.
EXAMPLES
After selecting New, the cursor will change into a cross. Using button 3 again, you should then drag out a rectangle to indicate the size and location of the new window. When you release the button a new window will be created.
New windows will contain the rc shell. Invoking a rio program from the shell will allow that program to take over the window. As there is no job control in the shell (e.g. &, fg, bg), you just create another window if you want to run another program concurrently.
To Resize a window, you select Resize, then click (remember using the same button that started the action, i.e. button 3) on the window you want to resize. The cursor will change to a cross-hair that will allow you to drag out the desired shape of the window.
After selecting Move, click and keep the button depressed over the window you want to move, then move the mouse to move the red rectangle that represents the new location you want. Release the button to finish the action.
Delete and Hide both operate by requiring you to click on the window you wish to respectively Delete or Hide.
WINDOW CONTROL TIPS
Clicking on a window brings it to the front.
You can directly change the shape of a window by clicking and dragging on the edge or corner of the window border. Button 1 or 2 will allow you to drag the edge or corner to a new size, and Button 3 will allow you to move the window.
The pop-up menu remembers the last command chosen, so as a short cut you can just press and release button 3 without moving the mouse between pressing and releasing to select the previous command again.
BASIC TEXT CONTROL
Unlike in other systems, the text cursor can only be controlled by the mouse or the side-effects of certain commands.
Clicking with button 1 will move the text insertion point (indicated by an I-beam) to just before the character closest to the mouse pointer. Dragging across a section of text will select that portion of text. It may be useful to know that the insertion I-beam represents an empty selection (between two characters). In text editors, the current selection is known as the "dot".
In the shell window button 2 will invoke a pop-up menu. Most of its commands operate on the dot.
- cut - moves the contents of the dot to the clipboard if the dot is non-empty
- paste - replaces the dot with the contents of the clipboard
- snarf - copies the dot to the clipboard
- plumb - sends the text near the dot to the plumber
- send - completes the current command-line with the dot if it is non-empty, or the contents of the clipboard. If the dot is non-empty it does a snarf at the same time.
- scroll - toggles the automatic scrolling behaviour of the shell window
Double-clicking will allow you to automatically select a section of text surrounding that point. The selection is made by an analysis of appropriate delimiters. A whole line is selected by double-clicking at either end of the line. A quoted or bracketed selection is made by double-clicking just inside of the quote or bracket.
SCROLLING
The arrow keys will let you scroll up or down by half a page at a time.
Clicking button 1 on the scrollbar scrolls up by bringing the line at the top of the window to your mouse cursor position. Button 3 scrolls down by bringing the line at your mouse cursor position to the top of the window. Button 2 jumps to position in the document relative to the position on the scrollbar clicked. Holding a button on the scrollbar will have the effect of invoking the clicking action continuously.
The white elevator box on the scrollbar is sized proportionally to the area of the document that is currently visible.
Scrolling does not affect the text cursor.
RIO AND THE RC SHELL WINDOW
Rc is a command interpreter for Plan 9 that provides similar facilities to UNIX's Bourne shell. See the additional references at the end of this document for information specifically about rc.
Rio provides some additional features that enhance the interface to programs that use the text console. The rc shell command interpreter is one such program.
Rc commands are typed after the prompt on the last line of the text buffer. The commands are sent to rc only after each newline so line editing may be performed if desired. You can move the cursor and edit the previous lines of commands and program output but none of this will be interpreted by rc shell.
The interpretation of commands is supressed altogether when ESC is pressed to put the window in hold mode. The window border and text will change to dark blue to indicate that the hold mode is active. In this mode you can type multiple lines of commands and edit them. Pressing ESC again will release the hold mode and send the lines of text to the rc command interpreter.
The DEL key sends an 'interrupt' note to all processes in the window's process group. The usual intent is to terminate the execution of the current command. It is also a convenient short cut for ensuring you have a fresh command prompt.
ADDITIONAL REFERENCES
- rio(1), rc(1) - the manual pages
- 8½, the Plan 9 Window System - An introduction to the (previous) window system and its unusual implementation.
- Rc - The Plan 9 Shell - An introduction to the new shell, complete with examples.