Chapter 1. Introduction

Think of larswm as the vi of window managers.


It does not need much memory to run. On a Linux machine, it uses roughly one third of the virtual memory of xterm.


It uses very little CPU time, leaving more for the actual applications.


It does not provide fancy decorations that tend to use up screen space. It lets you focus your attention on the applications inside the windows instead of what is outside of them.


You can configure larswm to always keep the focused window to the left, maximized vertically. It makes it easier to keep track of your tasks by letting you concentrate on one at a time.

"Intuitive" is not how I would describe it, and neither is "easy". Just like vi it takes some getting used to. But just like vi, once you do know it, it becomes a very efficient tool.

Since it is built on top of 9wm, when you look at a screen shot of larswm, it can be hard to tell that it really is very different. What it adds to 9wm changes the feel of it completely, but the look stays similar. This means windows with no title bars and simple borders.

What really makes it feel so different from most window managers is that the windows are moved and resized automatically every time a window opens or closes.

One window is allocated the left 65% of the screen from top to bottom, and all the other windows are tiled one above another along the right edge. These halves are called "tracks", a term I borrowed from Oberon. What this means is that what you are currently working on can be given the bigger space, without you having to manually move and resize a window every time you move between tasks.

You could of course have all windows use a big area of the screen, but then you would have overlapping windows, and sometimes a window will get lost underneath another. Iconifying the ones you do not use might work, but not if you really need to keep an eye on them while working on something else, and I am not too fond of task bars, as it can be hard to see exactly which xterm you need when you all you can see is part of the icon name for the window.

larswm also includes the concept of the "subdesktop". Each virtual desktop has two subdesktops, or "layers", the tiled and the untiled subdesktop. You can specify in the .larswmrc which one you want certain windows to go to.

You can set it up to tile everything except windows of a certain class/instance, or you can do it the other way around, and only tile windows of a certain class/instance. The default behaviour is to not tile a window unless instructed to.


I use the following terminology, most of it borrowed from other projects, some of it made up by me.


One or more Screens.


A physical monitor.

Virtual Desktop

A group of windows on a Screen. Only one group can be visible at a time.


Each Virtual Desktop has two layers, called subdesktops, one tiled and one untiled.


A column of windows. The default setup of larswm uses two tracks per desktop, one containing the active window, and one containing the rest, tiled one above the other.


A tool is a special kind of untiled window that the tiled windows will not cover.