A solução mais simples para adicionar o Xmobar é essa configuração:
import XMonad
import XMonad.Hooks.DynamicLog
main = xmonad =<< xmobar def
Mas, geralmente, os usuários do Xmonad preferem adaptar seus desktops. Esta é uma maneira mais popular de adicionar o Xmobar:
import XMonad
import XMonad.Hooks.DynamicLog
import XMonad.Hooks.ManageDocks
import XMonad.Util.Run
main = do
-- start Xmobar process
h <- spawnPipe "xmobar -d"
xmonad $ def {
-- this adds a fixup for docks
layoutHook = avoidStruts $ layoutHook def,
-- this adds Xmobar to Xmonad
logHook = dynamicLogWithPP $
xmobarPP {
ppOutput = hPutStrLn h
},
-- this adds a second fixup for docks
manageHook = manageDocks <+> manageHook def
}
Xmobar não parece legal assim, na minha opinião. Na maioria dos casos, as pessoas adicionam uma configuração do Xmobar e sobrescrevem PP propriedades pré-configuradas com xmobarPP
aqui.