I installed XQuartz today, and while looking around for a low-distraction window manager, I came across xmonad. It looked interesting, and I started following the installation instructions and found they were out of date. Here’s an updated set of instructions for installing xmonad.
- Install XQuartz.
- Install homebrew if you don’t already have it.
- brew update
- brew install ghc cabal-install wget
- cabal update
- export LIBRARY_PATH=/usr/local/lib:/usr/X11/lib
- cabal install xmonad
- Launch XQuartz and go to Preferences (command-,). Set the following:
- Enable “Full-screen mode”
- Enable “Emulate three button mouse”
- Disable “Follow system keyboard layout”
- Disable “Enable key equivalents under X11”
- Enable “Option keys sent Alt_L and Alt_R”
- Enable all of the options
monad has been installed in $HOME/.cabal/bin/xmonad. You now need to create an .xinitrc that will make XQuartz run monad. Edit ~/.xinitrc and add these lines:
[[ -f ~/.Xresources ]] && xrdb -load ~/.Xresources xterm & $HOME/.cabal/bin/xmonad
You can now launch XQuartz; nothing seems to happen, but press command-option-A and the xmonad “desktop” (one huge xterm) will appear, covering the whole screen. Great! It’s using the default teeny and nasty xterm font, though. Let’s pretty it up a bit by making it use Monaco instead. Edit ~/.xresources and add these lines:
xterm*background: Black xterm*foreground: White xterm*termName: xterm-color xterm*faceName: Monaco
Quit XQuartz with command-Q, and then relaunch, then hit command-option-A again to see the XQuartz desktop. The terminal should now be displaying in Monaco.
At this point, you should take a look at the guided tour and get familiar with xmonad. If you’re looking for a distraction-free working environment, this might be good for you. I’m going to give it a try and see how it works out.