Window Manager Shootout

I’ve been using Window Managers (WM) in Linux for around five years. I first wrote about them back in 2018, and mentioned them often subsequently.

In my mind WMs can be categorised into two broad camps, and further subdivisions can be applied. The two broad camps are stacking window managers (where windows for newly-opened apps appear over previous apps), and dynamic tiling window managers where new windows open adjacent to current windows on some predetermined basis.

To explain tiling window managers: if you are on a new screen/window/tag and open a file manager then it will occupy the full screen. If you then open a terminal window the file manager window will shrink in size and the terminal window will appear next to it (either vertically or horizontally, depending on the WM configuration). Opening another app (such as email or a web browser) will further shrink some preexisting window(s) to fit all three on the screen, ad nauseam.

These tiling window managers can be either dynamic tiling WMs (where the new windows appear in locations and sizes based on configuration) or manual tiling WMs where the next window will appear left or right or above or below the current window depending on where the user wishes it to appear. This location can be modified by pressing some combination of keys to indicate the preference.

I’ve used a range of stacking and tiling WMs in the last five years; and my tiling WMs have included both dynamic and manual tiling WMs. The range has included:

Dynamic Tiling

  • dwm
  • Qtile

Manual Tiling

  • herbstluftwm
  • i3

Stacking

  • Openbox
  • JWM
  • Fluxbox (very briefly)

At the moment I’m using herbstluftwm. It’s not perfect, but it’s growing on me. I am using Polybar as my status bar, and feh to set and manage wallpaper.

My preference today (it may be different tomorrow) in terms of WMs would be:

  1. herbstluftwm
  2. dwm
  3. Openbox
  4. Qtile
  5. JWM
  6. i3
  7. Fluxbox

They each have their advantages and disadvantages. I tend to prefer tiling WMs and move to a new window for such apps as email or web browser, but for file managers and terminals I tend to leave them on the one window and have them tile as they will.

Each of these WMs has been configured to open my apps with the same keystrokes, and I have some scripts and shortcuts set to minimise my use of the mouse.

So for the moment herbstluftwm is my WM of choice, but I was recently using dwm and fiddling with Openbox.