-- i'll do my best to make notes but it's a bit of a mess -- https://archives.haskell.org/projects.haskell.org/xmobar/#system-monitor-plugins -- FYI xmobar and trayer will need to be killed before reloading -- to be sure that it is in fact reloading. if it doesn't -- run both from the terminal to see what's what. maybe set up an alias -- in bashrc 'alias kxb="killall trayer xmobar"' (without single quotes) Config { font = "xft:mononoki bold:pixelsize=14" , bgColor = "black" , fgColor = "grey" , position = Top , lowerOnStart = True -- here the widgets are configured before being placed on the bar in template , commands = [ Run Cpu [ "-L", "50" , "-H", "75" , "--normal", "orange" , "--high", "red" ] 35 , Run Memory [ "-t", "Mem: MB" ] 50 -- cpu core temperature monitor , Run CoreTemp [ "--template" , "Temp: °C | °C" , "--Low" , "70" -- units: °C , "--High" , "80" -- units: °C , "--low" , "green" , "--normal" , "orange" , "--high" , "red" ] 16 , Run Date "%d-%m-%y | %H:%M" "date" 10 -- trayer SET PATH TO TRAYER SCRIPT!! , Run Com "/home/chris/.config/xmobar/trayer-padding-icon.sh" [] "trayerpad" 124 --left hand widgets , Run StdinReader , Run Swap [] 10 ] , sepChar = "%" , alignSep = "}{" -- inverted curly brackets dictate alignment. everything before } is on the left. -- and everything after { is on the right. -- trayer is a bit of a pain to set up, see startup hooks in xmonad.hs and -- consult the man page for flags. i suggest wrapping the widget in colour -- tags to match xmobar's BG colour, as the word "updating" appears underneath. -- i don't seem to be having much luck with this auto expand script either. , template = "%StdinReader% }{%trayerpad% %memory% %swap% | %coretemp% | %cpu% | %date% " }