Chapter 7. Final Thoughts

I first started thinking about writing a window manager with this kind of window tiling some time in the early nineties, but somehow I never got around to doing more than drafting some sample screens and jot down some notes on paper. In the beginning of June, 2000 I decided to try to change 9wm into something a bit more to my liking, and hence larswm was born. It started out as one extra file in the 9wm distribution with some hooks in the original files to call the tiling functions etc. By now I have made more changes to the original files, to integrate my functionality a little better.

Before I started writing it I really did not know if my idea would be usable in practice, even though I thought it sounded good in theory. I am happy to say it turned out more usable than I ever thought, and nowadays whenever I use a system that requires me to manipulate windows manually I feel something is lacking.

If you think it sounds too weird for you, try it anyway, you just might like it.

A Brief History Of larswm

Version 1.0 was released on June 3, 2000. It was basically 9wm with one extra file in the source tarball, tiling.c. It tiled every window, and not very good, but it was enough for me to realize that maybe the way I wanted to manage windows was not that silly.

June 9, 2000 saw the first version that supports more than one screen, 2.0.

On July 3, 2000 version 3.2 was released. This was the first release to be announced on and therefore the first to get more extensive testing.

On July 4, 2000 version 4.0b1 was released, this added keyboard support, which a couple of people had already requested since the day before when 3.2 was announced.

On July 9, 2000 version 4.3b1 was released. This introduced the indexed resource format that is still in use. That is, where it made sense, options could be specified individually per screen and virtual desktop.

Version 5.0 was released on July 17, 2000 and it added support for tiling without resizing, making netscape feel alot faster.

July 19, 2000 saw the first release to have the concept of tiled and untiled subdesktops, 5.1b1.

On July 25, 2000 version 5.3b1 was released, and this was the first release to have the status bar.

Version 5.5b3 on Aug 5, 2000 introduced the lazy focus follows mouse mode on the untiled subdesktop.

On Sep 3, 2000 version 5.7b6 is released, and it is the first version to support showing arbitrary messages on the status bar by reading them from a named pipe.

Sep 8, 2000 was when I finally figured out how to pass clicks used to focus a window to the client.

On Sep 11, 2000 the 6.0 release was announced and downloaded 171 times in two days, making it the most downloaded version at that time.

On Sep 21, 2000 was when the menu code and grab.c was finally thrown out.

Sep 25, 2000, 7.0 is announced and includes some features to bring it a tiny bit closer to Acme/Wily.