This is my xmonad+unity panel config. With this config, you'll have a well integrated panel from unity but still have xmonad as your window manager with your gnome apps, including the pretty gnome-terminal
(for those too lazy to learn xmoobar).
This config doesn't have the unity launcher, mainly becuse it causes windows to be unfloatable, besides I'm not fond of it anymore.
Copy and paste these lines (or understand what it does and do it manually).
sudo echo "We do this so subsequent sudos don't ask for password"
GISTDIR='https://gist.githubusercontent.com/Tarrasch/3156991/raw'
mv ~/.xinitrc{,.backup}
curl "$GISTDIR/xinitrc" | tee ~/.xinitrc
curl "$GISTDIR/xmonad.session" | sudo tee /usr/share/gnome-session/sessions/xmonad.session
curl "$GISTDIR/gnome-xmonad.desktop" | sudo tee /usr/share/xsessions/gnome-xmonad.desktop
Then log out and choose the custom login session (not the xmonad one, we want it to read from the .xinitrc
)
Others gisters who basically did what I did, but I created a nice readme.
For users of 12.10: it seems that unity-2d does no longer exist. This causes an error on login (due to missing unity-2d-panel).
I solved this by switching over to gnome-fallback-session (apt-get install gnome-fallback-session) and changing the DefaultProvider-panel to gnome-panel (in xmonad.session).
To retake vertical space you can optionally use the global menu bar (apt-get install indicator-applet-appmenu), then while holding super+alt right-click on the menu bar to add a applet to the panel, choosing 'indicator applet appmenu'. You can remove the bottom panel using the same trick (holding alt+super and right-clicking on the bottom panel, then choose remove).