xmonad: the window manager that (practically) reads your mind

Accepted Session
Short Form
Scheduled: Thursday, June 26, 2014 from 1:30 – 2:15pm in B201


Many desktop environments try to be easy to use for the average user, but that's not you. You're at your computer all day writing code; you don't have time to waste _dragging windows_ (ugh!) or watching _animated transitions_ (yuck!). David Brewer will demonstrate how by using xmonad, a tiling window manager, you can bend your desktop to your will and control your windows with telepathy. Kind of.


  • Do you spend pretty much all day, every day, working with your computer?
  • Does your annoyance grow every time you have to fiddle with a window to get it to be just the right size or in the right position?
  • Do you find yourself constantly flipping through overlapping windows to find the one you need?
  • Does wasting precious milliseconds of your life watching the same transition animation for the millionth time fill you with nerd rage?
  • Do you watch the direction that Gnome Shell, Unity, and KDE are developing in (not to mention OS X and Windows!) and wonder if there’s a less bloated alternative?

The answer for me turned out to be xmonad, a tiling window manager written in Haskell. If you think you might like a minimalist desktop experience, and you’re willing to invest the time to make it through a learning curve, it might be the answer for you too.

I’ll make the case for xmonad and demonstrate what I love about my own desktop configuration so you can decide for yourself if an xmonad-based system would be right for you. And, I’ll provide and explain extensively commented sample configuation files for Ubuntu 12.04 and 14.04 so you can try a similar setup with a minimum of fuss.


xmonad, Haskell, Desktop, tiling window managers

Speaking experience

I've spoken at four previous OSBridge conferences (2009-2012):
* http://opensourcebridge.org/sessions/804
* http://opensourcebridge.org/sessions/535
* http://opensourcebridge.org/sessions/308
* http://opensourcebridge.org/sessions/260

Most of those presentations have links to slides in the notes, and audio files.

I spoke at OSCON back in 2008 (presentation link from this page):
* http://www.oscon.com/oscon2008/public/schedule/detail/2783

I've also spoken in a panel presentation at MCN (a museum technology conference) in 2009. No slides here, I'm afraid, and you'll have to search for my name on this very long page to find the description:
* http://www.museumcomputernetwork.org/old-conferences/conferences/index.aspsubkey2526.htm

I have given a similar talk to this before, at OSBridge 2012. This will be an updated version to incorporate my ongoing experience with XMonad and to (with luck) bring the code that goes along with it up to date for the new Ubuntu LTS release which will be out by then.