Xmonad on Oneiric Ocelot, Gnome Classic

Following up on Karmic, Lucid and Natty, we have Xmonad on Oneiric Ocelot. Let’s get my biases out of the way. I love Xmonad. I hate Ubuntu Unity.


$ sudo apt-get install gnome-panel xmonad

$ sudo vi /usr/share/applications/xmonad.desktop
[Desktop Entry]
Type=Application
Encoding=UTF-8
Name=Xmonad
Exec=xmonad
NoDisplay=true
X-GNOME-WMName=Xmonad
X-GNOME-Autostart-Phase=WindowManager
X-GNOME-Provides=windowmanager
X-GNOME-Autostart-Notify=true

$ sudo vi /usr/share/xsessions/xmonad-classic.desktop
[Desktop Entry]
Name=XMonad Classic
Comment=Tiling window manager that works
TryExec=/usr/bin/gnome-session
Exec=gnome-session --session=xmonad
Type=XSession

$ sudo vi /usr/share/gnome-session/sessions/xmonad.session
[GNOME Session]
Name=Xmonad Classic
RequiredComponents=gnome-settings-daemon;
RequiredProviders=windowmanager;panel;
DefaultProvider-windowmanager=xmonad
DefaultProvider-panel=gnome-panel
FallbackSession=gnome-classic

$ mkdir -p ~/.xmonad

$ vi ~/.xmonad/xmonad.hs
import XMonad
import XMonad.Config.Gnome
import XMonad.Layout.NoBorders
import XMonad.Layout.ThreeColumns

main = xmonad
    gnomeConfig {
            modMask = mod4Mask
          , layoutHook = smartBorders (layoutHook gnomeConfig)
         ||| ThreeCol 1 (3/100) (1/2)
         ||| ThreeColMid 1 (3/100) (1/2)
    }

$ xmonad --recompile

After you logout, be sure to select “Xmonad Classic” from the login menu (gear). I’ve added a command cheat sheet to a previous post (trust me, if you’ve never used Xmonad before you need to learn five command before you even begin). Perhaps you’d prefer something more visual:

Thanks to Haskell Wiki and myszek123.