| .TH RIO 1 |
| .SH NAME |
| rio \- rio-like Window Manager for X |
| .SH SYNOPSIS |
| .B rio |
| [ |
| .B \-font |
| .I fontname |
| ] |
| [ |
| .B \-grey |
| ] |
| [ |
| .B \-s |
| ] |
| [ |
| .B \-term |
| .I termprog |
| ] |
| [ |
| .B \-version |
| ] |
| [ |
| .B \-virtuals |
| .I num |
| ] |
| [ |
| .B exit |
| | |
| .B restart |
| ] |
| .PP |
| .B xshove |
| [ |
| .I name |
| .I rectangle |
| ] |
| .SH DESCRIPTION |
| .if t .ds 85 8\(12 |
| .if n .ds 85 8-1/2 |
| .I Rio |
| is a window manager for X which attempts to emulate the window management |
| policies of Plan 9's |
| .I rio |
| window manager. |
| Rio is derived from David Hogan's 9wm. |
| .PP |
| The |
| .B \-grey |
| option makes the background stippled grey, the default X11 background, |
| instead of solid grey, the Plan 9 background. |
| .PP |
| The |
| .B \-font |
| option |
| sets the font in |
| .IR rio 's |
| menu to |
| .IR fname , |
| overriding the default. |
| Unlike the other programs in the Plan 9 ports, rio expects this |
| font to be an X11 font rather than a Plan 9 font. |
| .PP |
| The |
| .B \-term |
| option |
| specifies an alternative program to run when the |
| .I New |
| menu item is selected. |
| The default is to try |
| .IR 9term (1) |
| and then to fall back to |
| .IR xterm (1). |
| The |
| .B \-s |
| option has no effect. It formerly set the scrolling mode for |
| new windows and is recognized to avoid breaking scripts. |
| See |
| .IR 9term (1) |
| for a description of scrolling behavior. |
| .PP |
| The |
| .B \-version |
| option |
| prints the current version on standard error, then exits. |
| .PP |
| The |
| .B \-virtuals |
| option sets the number of virtual screens (the default is 1, |
| and the maximum is 12). |
| .PP |
| If the argument |
| .B exit |
| or |
| .B restart |
| is given, |
| it is sent to an already-running |
| .IR rio , |
| causing the extant |
| .I rio |
| to exit or restart. |
| .SS Using rio |
| .PP |
| One window is |
| .IR current , |
| and is indicated with a dark border and text; |
| characters typed on the keyboard are available in the |
| .B /dev/cons |
| file of the process in the current window. |
| Characters written on |
| .B /dev/cons |
| appear asynchronously in the associated window whether or not the window |
| is current. |
| .PP |
| Windows are created, deleted and rearranged using the mouse. |
| Clicking (pressing and releasing) mouse button 1 in a non-current |
| window makes that window current and brings it in front of |
| any windows that happen to be overlapping it. |
| When the mouse cursor points to the background area or is in |
| a window that has not claimed the mouse for its own use, |
| pressing mouse button 3 activates a |
| menu of window operations provided by |
| .IR rio . |
| Releasing button 3 then selects an operation. |
| At this point, a gunsight or cross cursor indicates that |
| an operation is pending. |
| The button 3 menu operations are: |
| .TF Resize |
| .TP |
| .B New |
| Create a window. |
| Press button 3 where one corner of the new rectangle should |
| appear (cross cursor), and move the mouse, while holding down button 3, to the |
| diagonally opposite corner. |
| Releasing button 3 creates the window, and makes it current. |
| Very small windows may not be created. |
| The new window is created running |
| .IR termprog , |
| by default |
| .IR 9term (1) |
| or, if |
| .I 9term |
| is not available, |
| .IR xterm (1). |
| .TP |
| .B Resize |
| Change the size and location of a window. |
| First click button 3 in the window to be changed |
| (gunsight cursor). |
| Then sweep out a window as for the |
| .B New |
| operation. |
| The window is made current. |
| .TP |
| .B Move |
| Move a window to another location. |
| After pressing and holding button 3 over the window to be moved (gunsight cursor), |
| indicate the new position by dragging the rectangle to the new location. |
| The window is made current. |
| Windows may be moved partially off-screen. |
| .TP |
| .B Delete |
| Delete a window. Click in the window to be deleted (gunsight cursor). |
| Deleting a window causes a |
| .L hangup |
| note to be sent to all processes in the window's process group |
| (see |
| .IR notify (3)). |
| .TP |
| .B Hide |
| Hide a window. Click in the window to be hidden (gunsight cursor); |
| it will be moved off-screen. |
| Each hidden window is given a menu entry in the button 3 menu |
| according to its current window system label. |
| .TP |
| .I label |
| Restore a hidden window. |
| .PD |
| .PP |
| Windows may also be arranged by dragging their borders. |
| Pressing button 1 or 2 over a window's border allows one to |
| move the corresponding edge or corner, while button 3 |
| moves the whole window. |
| .PP |
| When the mouse cursor points to the background area |
| and |
| .I rio |
| has been started with multiple virtual screens using the |
| .B \-virtuals |
| option, |
| clicking button 2 brings up a menu to select a virtual screen to view. |
| Scrolling the mouse wheel while the cursor points at the background |
| will cycle through the virtual screens. |
| .PP |
| .I Xshove |
| moves or resizes every window whose X11 class or instance strings contain |
| .IR name . |
| The |
| .I rectangle |
| argument can be |
| \fIwidth\^\^\fLx\fI\^\^height\fR, |
| \fIwidth\^\^\fLx\fI\^\^height\^\^\fL@\fI\^\^xmin\fL,\fIxmax\fR, |
| \fL'\fIxmin ymin xmax ymax\fL'\fR, |
| \fRor |
| \fIxmin\fL,\fIymin\fL,\fIxmax\fL,\fIymax\fR. |
| A leading |
| .B + |
| or |
| .B - |
| causes the rectangle to be interpreted as a delta: |
| .L +10,0 |
| nudges a window to the right, while |
| .L +100x100 |
| grows a window. |
| With no arguments, |
| .I xshove |
| lists all the current X windows. |
| .I Xshove |
| is not specific to |
| .I rio |
| and can be used with other window managers. |
| .SH BUGS |
| In |
| Plan 9's |
| .IR rio , |
| clicking button 2 or button 3 to select a window also sends that |
| event to the window itself. This |
| .I rio |
| does not. |
| .PP |
| The command-line syntax is non-standard. |
| .PP |
| In Plan 9's |
| .IR rio , |
| newly started applications take over the current window. |
| This |
| .I rio |
| starts a new window for each program. |
| (In X11, it appears to be impossible to know which window |
| starts a particular program.) |
| .PP |
| There is a currently a compiled-in limit of 128 hidden windows. |
| .SH "SEE ALSO" |
| .IR 9term (1), |
| .IR xterm (1) |
| .PP |
| As mentioned above, |
| .I rio |
| is mainly maintenance updates |
| applied to the original |
| .I 9wm |
| by David Hogan; see |
| .HR http://unauthorised.org/dhog/9wm.html "" . |