Ye Olde X11 Window Manager

by Paul Eissen

30 Dec 2025

In 1984, my boss informed his team of young programmers (including moi) that he had just installed a copy of 4.2 BSD on a spare VAX 11/780 machine in our hitherto all-VMS shop, thus starting me on my 40+ year adventure in UNIX programming. In 1987, he brought in more cool UNIX software, this time a copy of version 11 release 1 (a.k.a. X11R1) of the X Window System, which we installed on all of our Sun 2 and Sun 3 desktop workstations. [1]

After spending quite a bit of time writing regular X11 clients using Xlib, I decided it would be fun to try my hand at writing my own X11 window manager. How hard could it be? I stupidly asked myself. Hard, and confusing, especially after reading (and re-reading) the infamous Inter-Client Communication Conventions Manual. [2]

I stared at the source code for uwm and twm and then hacked a bunch of prototypes until I settled on a simple design that (1) surrounded each client window with a simple border, (2) drew a set of window manager text buttons at the top of the (single) screen, and (3) rendered zero or more text buttons representing the currently “minimized” client windows at the bottom of the screen. It wasn't much, but it worked (sort of).

I named the thing rwm (“Raoul's window manager”) and started on a paper entitled “Design and Implementation of the RWM Window Manager”. Unfortunately, I lost track of both my C source code and the troff source to my unfinished paper, so all I have now is a hardcopy folder's worth of (scanned) memories.

1988 RWM screenshot

Notes

  1. ^ The best short description of the X Window System is found in the Editorial in the October 1990 supplement of the journal Software: Practice and Experience. Except for the Editorial, all of the seminal X11 papers in this issue are trapped behind a paywall.
  2. ^ The funniest depiction of the X Window System is chapter seven, “The X-Windows Disaster” from the classic The UNIX-HATERS Handbook, edited by Simson Garfinkel, Daniel Weise, and Steven Strassmann (IDG Books, 1994).

Creative Commons Attribution-ShareAlike