Rio (windowing system)

Short description: Windowing system for Plan 9 from Bell Labs

rio

rio interface as windowing system

Developer(s)| Rob Pike
Initial release| Fourth Edition / April 28, 2002; 24 years ago (2002-04-28)
Written in| C
Operating system| Plan 9 from Bell Labs
Type| Windowing system

rio is Plan 9 from Bell Labs' windowing system. It is well known for making its window management transparent to the application. This allows running rio inside of another window manager.

## Contents

* 1 History
* 1.1 ​8 1⁄2
* 1.2 rio
* 2 Design concepts
* 3 See also
* 4 External links

## History

rio is the latest in a long series of graphical user interfaces developed at Bell Labs, mostly developed by Rob Pike, the concurrent window system, and the Blit (which predated X).

### ​8 1⁄2

​8 1⁄2 was a window system developed for the Plan 9 from Bell Labs operating system by Rob Pike. According to its documentation, the system has little graphical fanciness, a fixed user interface, and depends on a three-button mouse. Like much of the Plan 9 operating system, many operations work by reading and writing to special files.

Because of the limitations stemming from its unusual implementation, ​8 1⁄2 has been completely rewritten into its successor rio in recent Plan 9 versions.

### rio

rio was a complete rewrite of 8½ in Alef. Its main change was that it stopped parsing and rewriting graphical commands and let the client write pixels directly. This was done mainly for efficiency. As Alef disappeared due to being too difficult to maintain given the number of people working on Plan 9 at the time, rio was rewritten in C. This was done using the Plan 9 thread library which was inspired by Alef and had most of its features, such as blocking channels for interthread and interprocess communication. Another important change, due more to the environment than to rio per se, is that rio supports full colour, using alpha compositing, whereas 8½ uses bitblt operations.

## Design concepts

Many of its features embody key Plan 9 design concepts:

* Each window runs in its own private namespace.
* It exports a file system interface to running applications. This interface is the same rio receives from the operating system, so rio can run inside a rio window without any special arrangements. Because the interface uses 9P, rio is network transparent even if it doesn't include any network-aware code.
* Windows are treated as completely editable text.

## See also

* Plan 9 from Bell Labs \- rio's native environment
* Plan 9 from User Space \- Includes a window manager that emulates the rio user interface
* Rob Pike - The author of rio and 8½
* Blit \- A terminal developed at Bell Labs that pioneered some of the UI concepts used in Rio.

## External links

* Rio: Design of a Concurrent Window System by Rob Pike
* `rio(1)` – Plan 9 Programmer's Manual, Volume 1
* `rio(4)` – Plan 9 Programmer's Manual, Volume 1
* The 8½ paper \- Describes rio's predecessor which had a very similar design

* v
* t
* e

Rob Pike

Operating systems|

* Plan 9 from Bell Labs
* Inferno

Programming languages|

* Newsqueak
* Limbo
* Go
* Sawzall

Software|

* acme
* Blit
* sam
* rio
* 8½

Publications|

* The Practice of Programming
* The Unix Programming Environment

Other|

* Renée French
* Mark V. Shaney
* UTF-8

0.00

(0 votes)

|

Retrieved from "https://handwiki.org/wiki/index.php?title=Software:Rio_(windowing_system)&oldid=3898041"
*[v]: View this template
*[t]: Discuss this template
*[e]: Edit this template