RIO(1) RIO(1) NAME rio - rio-like Window Manager for X SYNOPSIS rio [ -font fontname ] [ -grey ] [ -s ] [ -term termprog ] [ -version ] [ -virtuals num ] [ exit | restart ] xshove [ name rectangle ] DESCRIPTION Rio is a window manager for X which attempts to emulate the window management policies of Plan 9's rio window manager. Rio is derived from David Hogan's 9wm. The -grey option makes the background stippled grey, the default X11 background, instead of solid grey, the Plan 9 background. The -font option sets the font in rio's menu to fname, over- riding 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. The -term option specifies an alternative program to run when the New menu item is selected. The default is to try 9term(1) and then to fall back to xterm(1). The -s option has no effect. It formerly set the scrolling mode for new windows and is recognized to avoid breaking scripts. See 9term(1) for a description of scrolling behavior. The -version option prints the current version on standard error, then exits. The -virtuals option sets the number of virtual screens (the default is 1, and the maximum is 12). If the argument exit or restart is given, it is sent to an already-running rio, causing the extant rio to exit or res- tart. Using rio One window is current, and is indicated with a dark border and text; characters typed on the keyboard are available in the /dev/cons file of the process in the current window. Characters written on /dev/cons appear asynchronously in the associated window whether or not the window is current. 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 Page 1 Plan 9 (printed 12/22/24) RIO(1) RIO(1) 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 opera- tions provided by rio. Releasing button 3 then selects an operation. At this point, a gunsight or cross cursor indi- cates that an operation is pending. The button 3 menu oper- ations are: 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 cre- ates the window, and makes it current. Very small windows may not be created. The new window is cre- ated running termprog, by default 9term(1) or, if 9term is not available, xterm(1). 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 New operation. The window is made current. 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 par- tially off-screen. Delete Delete a window. Click in the window to be deleted (gunsight cursor). Deleting a window causes a `hangup' note to be sent to all processes in the window's process group (see notify(3)). 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 but- ton 3 menu according to its current window system label. label Restore a hidden window. 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. When the mouse cursor points to the background area and rio has been started with multiple virtual screens using the -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. Xshove moves or resizes every window whose X11 class or instance strings contain name. The rectangle argument can be Page 2 Plan 9 (printed 12/22/24) RIO(1) RIO(1) widthxheight, widthxheight@xmin,xmax, or xmin,ymin,xmax,ymax. A leading + or - causes the rectangle to be interpreted as a delta: `+10,0' nudges a window to the right, while `+100x100' grows a window. With no arguments, xshove lists all the current X windows. Xshove is not spe- cific to rio and can be used with other window managers. BUGS In Plan 9's rio, clicking button 2 or button 3 to select a window also sends that event to the window itself. This rio does not. The command-line syntax is non-standard. In Plan 9's rio, newly started applications take over the current window. This rio starts a new window for each pro- gram. (In X11, it appears to be impossible to know which window starts a particular program.) There is a currently a compiled-in limit of 128 hidden win- dows. SEE ALSO 9term(1), xterm(1) As mentioned above, rio is mainly maintenance updates applied to the original 9wm by David Hogan; see http://unauthorised.org/dhog/9wm.html. Page 3 Plan 9 (printed 12/22/24)