A few months ago if you read the post I got tired of Ubuntu Linux for various reasons and installed Arch Linux. That was one of the better decisions I’ve made. One of the biggest problems I had with Ubuntu was that it’s memory footprint was huge. There were lots of daemons and extra stuff running in the background that were unnecessary. At the same time I also was looking for a different window manager. This is where XMonad enters the picture. After a few months of use I must say that I really enjoy using it. I’ve finally got it somewhat configured to my liking, but it will be a while before I’ve tuned and tweaked it to what I want.
The biggest hurdle with XMonad is that you have to learn a little bit of the Haskell programming language to configure it. I spend sometime doing some research and learning about Haskell. It’s a functional language which makes you think in a completely different way than any of the imperative languages.
One of the draws to Xmonad for me was the fact that it makes very little use of the mouse. Being a touch-typist, I feel that my productivity goes down when I’m constantly reaching for the mouse. Whether this productivity boost is perception or reality is irrelevant to me. If I feel I’m more productive I get more done. There’s lots of research that has been done in this area and the conclusions all differ. Therefore, if it is just perception than so be it.
Continuing the previous paragraphs theme, there is a learning-curve and a mnemonic load associated with this. You obviously now have to remember certain keystroke combinations to get things done. But as somebody who almost exclusively uses the ViM editor, learning these keystroke combinations is worth the time because once you’ve used them enough they all become second nature and you don’t have to move your hands off the keyboard.
Of course what would a window manager configuration post be like without screenshots. Below are three different screenshots of my Xmonad config. The first screenshot is the layout that I like to use when programming. It’s a tabbed layout as I like to use the entire screen for editing with a few terminals open for compiling and testing. The second screenshot is another layout I use when programming. This layout is used most when I’m having to look up a lot of stuff in a web browser and coding. I only use it for limited amounts of time because it’s hard to split my ViM window to work on multiple files. And the last screenshot is a desktop I don’t really use interactively much. It uses the default layout algorithm in Xmonad. On the main window I’m running multitail which shows me the last few lines of every log file. On the right from top to bottom the terminals are running, alsamixer (for volume control), ncmcpp (curses based frontend for mpd), and htop (interactive process viewer).
Here’s a link to all the config files for my configuration.
.xmonad/xmonad.hs — main xmonad config file
.xmobarrc — config file for the bar across the top of the screen
.xinitrc — config file to start Xmonad with the necessary programs
.Xdefaults — config file where the urxvt terminal defaults are located
Related posts:
- Getting There Well, after a day of playing I’m starting to get...
- Shiny New Arch Linux Install Well, I’ve got Arch Linux installed. Got it conifgured and...
Related posts brought to you by Yet Another Related Posts Plugin.



