Dans le genre minimal, tu as xmobar, qui affiche ce que lui demande d’afficher, dans ton cas tu pourrais avoir un ~/.xmobarrc comme çaConfig { font = "-misc-fixed-*-*-*-*-10-*-*-*-*-*-*-*"
, bgColor = "black"
, fgColor = "#00ff00"
, position = Top
, lowerOnStart = True
, commands = [ Run Date "%H:%M:%S" "date" 10
, Run StdinReader
]
, sepChar = "%"
, alignSep = "}{"
, template = "%StdinReader% }{ <fc=#00ff00>%date%</fc>"
}
qui affichera tous les bureaux avec des fenêtres dessus, le bureau actuel dans une couleur différente, l’heure et rien de plus.
Dans ton ~/.xmonad/xmonad.hs, il faut ajouter :import XMonad.Hooks.DynamicLog
import XMonad.Hooks.ManageDocks
import XMonad.Util.Run(spawnPipe)
import System.IO
dans les imports, et remplacermain = xmonad defaultspar main = do
xmproc <- spawnPipe "xmobar"
xmonad $ defaults
{ manageHook = manageDocks <+> myManageHook
, layoutHook = avoidStruts $ layoutHook defaultConfig { layoutHook = myLayout }
, logHook = dynamicLogWithPP $ xmobarPP
{ ppOutput = hPutStrLn xmproc
, ppTitle = xmobarColor "green" "" . shorten 90
}
}dans la section en bas du fichier.
regarde la doc des différents modules importés pour arranger à ta sauce.
les sources pour xmobar sont disponibles ici et le binaire ici.
Pour faire apparaître et disparaître xmobar avec mod-b par exemple, tu rajoutes , ((modMask , xK_b ), sendMessage ToggleStruts)dans la section des raccourcis claviers de ton ~/.xmonad/xmonad.hs.