xref: /plan9/usr/glenda/readme.rio (revision 9a747e4fd48b9f4522c70c07e8f882a15030f964)
1*9a747e4fSDavid du ColombierRio is the Plan 9 window system.
2*9a747e4fSDavid du Colombier
3*9a747e4fSDavid du ColombierTo read more of this window, the up and down arrows
4*9a747e4fSDavid du Colombierscroll the text up and down half screens.
5*9a747e4fSDavid du Colombier
6*9a747e4fSDavid du ColombierTo effectively use rio, you need at least a three
7*9a747e4fSDavid du Colombierbutton mouse.  If you only have a two button mouse you
8*9a747e4fSDavid du Colombiercan emulate the middle button by holding down shift key
9*9a747e4fSDavid du Colombierwhilst pressing the right button.
10*9a747e4fSDavid du Colombier
11*9a747e4fSDavid du ColombierButton 1, 2, and 3 are used to refer to the left,
12*9a747e4fSDavid du Colombiermiddle, and right buttons respectively.
13*9a747e4fSDavid du Colombier
14*9a747e4fSDavid du ColombierTHE POP-UP MENU
15*9a747e4fSDavid du Colombier
16*9a747e4fSDavid du ColombierPressing and holding down button 3 on the desktop or
17*9a747e4fSDavid du Colombiershell window will give you a menu with the following
18*9a747e4fSDavid du Colombieroptions:
19*9a747e4fSDavid du Colombier
20*9a747e4fSDavid du Colombier * New - create a new window
21*9a747e4fSDavid du Colombier * Resize - reshape a window
22*9a747e4fSDavid du Colombier * Move - move a window without reshaping it
23*9a747e4fSDavid du Colombier * Delete - close a window
24*9a747e4fSDavid du Colombier * Hide - hides a window from display (it will appear
25*9a747e4fSDavid du Colombier   in this menu)
26*9a747e4fSDavid du Colombier * <label> - the label of a hidden window,
27*9a747e4fSDavid du Colombier   selecting it unhides it
28*9a747e4fSDavid du Colombier
29*9a747e4fSDavid du ColombierYou select an item by releasing the button over the
30*9a747e4fSDavid du Colombiermenu item.  rio uses the same button that started an
31*9a747e4fSDavid du Colombieraction throughout that operation.  If you press another
32*9a747e4fSDavid du Colombierbutton during the action the operation is aborted and
33*9a747e4fSDavid du Colombierany intermediate changes are reversed.
34*9a747e4fSDavid du Colombier
35*9a747e4fSDavid du ColombierThe menu acts as a action verb selector which then
36*9a747e4fSDavid du Colombierrequires an object (i.e.  window) to be picked to
37*9a747e4fSDavid du Colombierindicate which window the verb is to act on.  A further
38*9a747e4fSDavid du Colombiermouse action may then be required.
39*9a747e4fSDavid du Colombier
40*9a747e4fSDavid du ColombierEXAMPLES
41*9a747e4fSDavid du Colombier
42*9a747e4fSDavid du ColombierAfter selecting New, the cursor will change into a
43*9a747e4fSDavid du Colombiercross.  Using button 3 again, you should then drag out
44*9a747e4fSDavid du Colombiera rectangle to indicate the size and location of the
45*9a747e4fSDavid du Colombiernew window.  When you release the button a new window
46*9a747e4fSDavid du Colombierwill be created.
47*9a747e4fSDavid du Colombier
48*9a747e4fSDavid du ColombierNew windows will contain the rc shell.  Invoking a rio
49*9a747e4fSDavid du Colombierprogram from the shell will allow that program to take
50*9a747e4fSDavid du Colombierover the window.  As there is no job control in the
51*9a747e4fSDavid du Colombiershell (e.g.  &, fg, bg), you just create another window
52*9a747e4fSDavid du Colombierif you want to run another program concurrently.
53*9a747e4fSDavid du Colombier
54*9a747e4fSDavid du ColombierTo Resize a window, you select Resize, then click
55*9a747e4fSDavid du Colombier(remember using the same button that started the
56*9a747e4fSDavid du Colombieraction, i.e.  button 3) on the window you want to
57*9a747e4fSDavid du Colombierresize.  The cursor will change to a cross-hair theat
58*9a747e4fSDavid du Colombierwill allow you to drag out the desired shape of the
59*9a747e4fSDavid du Colombierwindow.
60*9a747e4fSDavid du Colombier
61*9a747e4fSDavid du ColombierAfter selecting Move, click and keep the button
62*9a747e4fSDavid du Colombierdepressed over the window you want to move, then move
63*9a747e4fSDavid du Colombierthe mouse to move the red rectangle that represents the
64*9a747e4fSDavid du Colombiernew location you want.  Release the button to finish
65*9a747e4fSDavid du Colombierthe action.
66*9a747e4fSDavid du Colombier
67*9a747e4fSDavid du ColombierDelete and Hide both operate by requiring you to click
68*9a747e4fSDavid du Colombieron the window you wish to respectively Delete or Hide.
69*9a747e4fSDavid du Colombier
70*9a747e4fSDavid du ColombierWINDOW CONTROL TIPS
71*9a747e4fSDavid du Colombier
72*9a747e4fSDavid du ColombierClicking on a window brings it to the front.
73*9a747e4fSDavid du Colombier
74*9a747e4fSDavid du ColombierYou can directly change the shape of a window by
75*9a747e4fSDavid du Colombierclicking and dragging on the edge or corner of the
76*9a747e4fSDavid du Colombierwindow border.  Button 1 or 2 will allow you to drag
77*9a747e4fSDavid du Colombierthe edge or corner to a new size, and Button 3 will
78*9a747e4fSDavid du Colombierallow you to move the window.
79*9a747e4fSDavid du Colombier
80*9a747e4fSDavid du ColombierThe pop-up menu remembers the last command chosen, so
81*9a747e4fSDavid du Colombieras a short cut you can just press and release button 3
82*9a747e4fSDavid du Colombierwithout moving the mouse between pressing and releasing
83*9a747e4fSDavid du Colombierto select the previous command again.
84*9a747e4fSDavid du Colombier
85*9a747e4fSDavid du ColombierBASIC TEXT CONTROL
86*9a747e4fSDavid du Colombier
87*9a747e4fSDavid du ColombierUnlike in other systems, the text cursor can only be
88*9a747e4fSDavid du Colombiercontrolled by the mouse or the side-effects of certain
89*9a747e4fSDavid du Colombiercommands.
90*9a747e4fSDavid du Colombier
91*9a747e4fSDavid du ColombierClicking with button 1 will move the text insertion
92*9a747e4fSDavid du Colombierpoint (indicated by an I-beam) to just before the
93*9a747e4fSDavid du Colombiercharacter closest to the mouse pointer.  Dragging
94*9a747e4fSDavid du Colombieracross a section of text will select that portion of
95*9a747e4fSDavid du Colombiertext.  It may be useful to know that the insertion
96*9a747e4fSDavid du ColombierI-beam represents an empty selection (between two
97*9a747e4fSDavid du Colombiercharacters).  In text editors, the current selection is
98*9a747e4fSDavid du Colombierknown as "dot".
99*9a747e4fSDavid du Colombier
100*9a747e4fSDavid du ColombierIn the shell window button 2 will invoke a pop-up menu.
101*9a747e4fSDavid du ColombierMost of it's commands operate on dot.
102*9a747e4fSDavid du Colombier
103*9a747e4fSDavid du Colombier * cut - moves the contents of the dot to the clipboard
104*9a747e4fSDavid du Colombier   if dot is non-empty
105*9a747e4fSDavid du Colombier * paste - replaces dot with the contents of the clipboard
106*9a747e4fSDavid du Colombier * snarf - copies dot to the clipboard
107*9a747e4fSDavid du Colombier * plumb - sends dot (or text surrounding dot, if dot is
108*9a747e4fSDavid du Colombier   empty)to the plumber.
109*9a747e4fSDavid du Colombier * send - completes the current input line with the dot,
110*9a747e4fSDavid du Colombier   if it is non-empty, or the contents of the clipboard.
111*9a747e4fSDavid du Colombier   If the dot is non-empty it does a snarf at the same time.
112*9a747e4fSDavid du Colombier * scroll - toggles the automatic scrolling of the window
113*9a747e4fSDavid du Colombier   on output.
114*9a747e4fSDavid du Colombier
115*9a747e4fSDavid du ColombierDouble-clicking will allow you to automatically select
116*9a747e4fSDavid du Colombiera section of text surrounding that point.  The
117*9a747e4fSDavid du Colombierselection is made by an analysis of appropriate
118*9a747e4fSDavid du Colombierdelimeters.  A whole line is selected by
119*9a747e4fSDavid du Colombierdouble-clicking at either end of the line.  A quoted or
120*9a747e4fSDavid du Colombierbracketed selection is made by double-clicking just
121*9a747e4fSDavid du Colombierinside of the quote or bracket.
122*9a747e4fSDavid du Colombier
123*9a747e4fSDavid du ColombierSCROLLING
124*9a747e4fSDavid du Colombier
125*9a747e4fSDavid du ColombierThe arrow keys will let you scroll up or down by half a
126*9a747e4fSDavid du Colombierpage at a time.
127*9a747e4fSDavid du Colombier
128*9a747e4fSDavid du ColombierClicking button 1 on the scrollbar scrolls up by half a
129*9a747e4fSDavid du Colombierpage.  Button 3 scrolls down by half a page.  Button 2
130*9a747e4fSDavid du Colombierjumps to position in the document relative to the
131*9a747e4fSDavid du Colombierposition on the scrollbar clicked.  Holding a button on
132*9a747e4fSDavid du Colombierthe scrollbar will have the effect of invoking the
133*9a747e4fSDavid du Colombierclicking action continuously.
134*9a747e4fSDavid du Colombier
135*9a747e4fSDavid du ColombierThe white elevator box on the scrollbar is sized
136*9a747e4fSDavid du Colombierproportionally to the proportion of the document that
137*9a747e4fSDavid du Colombieris currently visible.
138*9a747e4fSDavid du Colombier
139*9a747e4fSDavid du ColombierScrolling does not affect the text cursor.
140*9a747e4fSDavid du Colombier
141*9a747e4fSDavid du ColombierRIO AND THE RC SHELL WINDOW
142*9a747e4fSDavid du Colombier
143*9a747e4fSDavid du ColombierRc is a command interpreter for Plan 9 that provides
144*9a747e4fSDavid du Colombiersimilar facilities to UNIX's Bourne shell.  See the
145*9a747e4fSDavid du Colombieradditional references at the end of this document for
146*9a747e4fSDavid du Colombierinformation specifically about rc.
147*9a747e4fSDavid du Colombier
148*9a747e4fSDavid du ColombierRio provides some additional features that enhance the
149*9a747e4fSDavid du Colombierinterface to programs that use the text console.  The
150*9a747e4fSDavid du Colombierrc shell command interpreter is one such program.
151*9a747e4fSDavid du Colombier
152*9a747e4fSDavid du ColombierRc commands are typed after the prompt on the last line
153*9a747e4fSDavid du Colombierof the text buffer.  The commands are sent to rc only
154*9a747e4fSDavid du Colombierafter each newline so line editing may be performed if
155*9a747e4fSDavid du Colombierdesired.  You can move the cursor and edit the previous
156*9a747e4fSDavid du Colombierlines of commands and program output but none of this
157*9a747e4fSDavid du Colombierwill be interpreted by rc shell.
158*9a747e4fSDavid du Colombier
159*9a747e4fSDavid du ColombierThe interpretation of commands is supressed altogether
160*9a747e4fSDavid du Colombierwhen ESC is pressed to put the window in hold mode.
161*9a747e4fSDavid du ColombierThe window border and text will change to dark blue to
162*9a747e4fSDavid du Colombierindicate the hold mode is active.  In this mode you can
163*9a747e4fSDavid du Colombiertype multiple lines of commands and edit them.
164*9a747e4fSDavid du ColombierPressing ESC again will release the hold and send the
165*9a747e4fSDavid du Colombierlines of text to the rc command interpreter.
166*9a747e4fSDavid du Colombier
167*9a747e4fSDavid du ColombierThe DEL key sends an 'interrupt' note to all processes
168*9a747e4fSDavid du Colombierin the window's process group.  The usual intent is to
169*9a747e4fSDavid du Colombierterminate the execution of the current command.  It is
170*9a747e4fSDavid du Colombieralso a convenient short cut for ensuring you have a
171*9a747e4fSDavid du Colombierfresh command prompt.
172*9a747e4fSDavid du Colombier
173*9a747e4fSDavid du ColombierFURTHER INFORMATION
174*9a747e4fSDavid du Colombier
175*9a747e4fSDavid du ColombierFor further information, try the rio(1) manual page.
176*9a747e4fSDavid du ColombierType "man rio" or click on rio(1) in either of these
177*9a747e4fSDavid du Colombiersentences and select plumb from the button 2 menu.
178*9a747e4fSDavid du Colombier
179