-- http://projects.haskell.org/xmobar/

Config { font    = "xft:Ubuntu:weight=bold:pixelsize=11:antialias=true:hinting=true"
       , additionalFonts = [ "xft:Mononoki Nerd Font:pixelsize=11:antialias=true:hinting=true"
                           , "xft:Font Awesome 5 Free Solid:pixelsize=12"
                           , "xft:Font Awesome 5 Brands:pixelsize=12"
                           ]
       , bgColor = "#282c34"
       , fgColor = "#ff6c6b"
       , position = Static { xpos = 1920, ypos = 0, width = 1920, height = 24 }
       , lowerOnStart = True
       , hideOnStart = False
       , allDesktops = True
       , persistent = True
       -- apparently there's no way to use env var or relpaths here
       , iconRoot = "/home/itsdrike/.config/xmobar/xpm"
       , commands = [
                    -- Time and date
                      Run Date "<fn=2>\xf017</fn>  %b %d %Y - (%H:%M) " "date" 50
                    -- Network up and down
                    , Run Network "wlp2s0" ["-t", "<fn=2>\xf0ab</fn>  <rx>kb  <fn=2>\xf0aa</fn>  <tx>kb"] 20
                    -- Cpu usage in percent
                    , Run Cpu ["-t", "<fn=2>\xf108</fn>  cpu: (<total>%)","-H","50","--high","red"] 20
                    -- Ram used number and percent
                    , Run Memory ["-t", "<fn=2>\xf233</fn>  mem: <used>M (<usedratio>%)"] 20
                    -- Disk space free
                    , Run DiskU [("/", "<fn=2>\xf0c7</fn>  hdd: <free> free")] [] 60
                    -- Runs a standard shell command 'uname -r' to get kernel version
                    , Run Com "uname" ["-r"] "" 3600
                    -- Add dynamic invisible XPM icon that resizes to accomodate trayer
                    -- this needs to be an absolute string path, env vars or relpaths aren't accepted
                    -- this should only be on 1 monitor (single file), so ignore this comment on others
                    -- Allow mouse clicking by using unsafe stdin reader
                    , Run UnsafeStdinReader
                    ]
       , sepChar = "%"
       , alignSep = "}{"
       , template = " <icon=haskell_20.xpm/>   <fc=#666666>|</fc> %UnsafeStdinReader% }{ \
       \<fc=#666666>|</fc>   <fc=#b3afc2><fn=3></fn>  <action=`alacritty -e htop`>%uname%</action> </fc> \
       \<fc=#666666>|</fc>   <fc=#ecbe7b> <action=`alacritty -e htop`>%cpu%</action> </fc> \
       \<fc=#666666>|</fc>   <fc=#ff6c6b> <action=`alacritty -e htop`>%memory%</action> </fc> \
       \<fc=#666666>|</fc>   <fc=#51afef> <action=`alacritty -e htop`>%disku%</action> </fc> \
       \<fc=#666666>|</fc>   <fc=#98be65> <action=`alacritty -e sudo iftop`>%wlp2s0%</action> </fc> \
       \<fc=#666666>|</fc>   <fc=#46d9ff> %date% </fc> \
       \ "
       }