Notes on Plan 9’s window system
rio is Plan 9’s default window manager. It’s the first graphical interface that will greet you.
Most interactions with rio will be through mouse chording. The left button is dedicated to selection, while the right and middle buttons are tied to contextual actions.
To create a window, press right button, select “New” and draw its area with the right button. Beside the other options from the menu, you can resize or move a window by dragging its border with the left or the right button.
You will mostly work with text on Plan 9. One of the first shortcut you will need is to cut/copy and paste. Select some text with the left button. Cut it with the middle button. Paste it back or somewhere else with right click. Snarf is the Plan 9 word for copy.
Another common shortcut is cursor navigation.
ctrl-a will move the cursor at the beginning of the line, and
ctrl-e to the end of it.
ctrl-a + left will move your cursor one line up,
ctrl-e + right will move it one line down.
You can autocomplete file path with
You can set a window coordinates and size.
To launch acme in the top right corner of your monitor when your rio session starts, create the following script:
You can invoke it with from your profile or from the terminal file with the following command.
You can launch another rio inside your current session, acting as a pseudo virtual space.
Hide and reveal your subrios with the “Hide” command from the parent rio right button menu.
$home/lib/profile to your liking. Use it set variables, script rio sessions, or invoke scripts from
/rc/bin (which is bound to
Fonts are installed in
To set terminus at size 12 as the default font, create the following variable.
You can manipulate Plan 9’s windows content, image output, keyboard events, and so on, by working with their interface file.
These files will be in
/dev for the current window, and in
/mnt/wsys/wsys for other windows.
- Console control
- Cursor look
- Keyboard events
- Window’s name
- Mouse events
- Screen visual output
- window’s text
- Window control
- Window’s pwd
- Window’s id
- window’s visual output
- Subdirectories for rio’s windows.
Questions or corrections: firstname.lastname@example.org.