-- xmobar main configuration file -- -- This file serves as a shared template for the specific xmonad -- configuration files that are generated from this file to accomodate -- for multiple monitors. -- -- For more details, run 'man xmobar', or visit the project website -- http://projects.haskell.org/xmobar/ Config { -- Set font for default dg/bg colors. xmobar height will -- be controlled by this font (it'll adjust itself to accomodate it) -- Additional fonts can be defined for emoji support font = "xft:Ubuntu:weight=bold:pixelsize=11:antialias=true:hinting=true", additionalFonts = [ "xft:Font Awesome 5 Free Solid:pixelsize=12", "xft:Font Awesome 5 Brands:pixelsize=12" --"xft:Mononoki Nerd Font:pixelsize=11:antialias=true:hinting=true" ], bgColor = "#282c34", fgColor = "#ff6c6b", -- Define static position that will be adjusted by the deploy script -- which will tweak the starting positions for multiple monitors, this -- configuration will work fine for single monitor systems out of the box. position = Static { xpos = 0, ypos = 0, width = 1920, height = 24 }, -- Define the place where all used XPM images will be stored in -- Apparently there's is no way to use env var or relpaths here. iconRoot = "/home/itsdrike/.config/xmobar/xpm", -- list of commands which gather information about the system -- which can then be referrenced in the final template string commands = [ -- Gather and format CPU usage information -- if it's above 50%, we consider it high and make it red Run Cpu [ "-t", "\xf108 cpu: %", "-H","50", "--high","red" ] 20, -- Ram used number and percent Run Memory ["-t", "\xf233 mem: M (%)"] 20, -- Battery information. This is likely to require some customization -- based upon your specific hardware. Or, for a desktop you may want -- to just remove this section entirely. --Run Battery [ --"-t", "\xf240 % - ", --"--", --"-i", "AC", --"-O", "AC", --"-o", "AUX", --"-L", "12", --"-h", "green", --"-l", "red" --] 10, -- Time and date Run Date "\xf017 %H:%M %b %d %Y" "date" 50, -- Network up and down Run Network "wlp2s0" ["-t", "\xf0ab kb \xf0aa kb"] 20, --Run Network "enp3s0" ["-t", "\xf0ab kb \xf0aa kb"] 20, -- Show free disk space on / Run DiskU [("/", "\xf0c7 hdd: ")] [] 60, -- Get kernel version from uname -r Run Com "uname" ["-r"] "" 3600, -- Get bitcoin price from a custom script Run Com "/home/itsdrike/.local/bin/scripts/bitcoin" [] "bitcoin" 300, -- 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 Run Com "/home/itsdrike/.config/xmobar/trayer-padding-icon.sh" [] "trayerpad" 10, -- This line tells xmobar to read input from stdin. -- That's how it gets information that xmonad is sending (such as -- workspaces) to be displayed. This will get placed onto xmobar -- template in the position where %UnsafeStdinReader%/%StdinReader% is -- By using UnsafeStdinReader, it will also allow for action strings -- to be used, which are activated upon clicking on the given element Run UnsafeStdinReader ], -- Separator character used to wrap variables in the xmobar template string sepChar = "%", -- Alignment eparator character used in the xmobar template string. -- Everything before this will be aligned left, everything after right. alignSep = "}{", -- Template string defining the xmobar contents and overall layout. template = "\ \ \ \| %UnsafeStdinReader% }{ \ \|  %uname% \ \| %cpu% \ \| %memory% \ \| %disku% \ \|  %bitcoin% \ \| %wlp2s0% \ \| %date% \ \| %trayerpad%\ \ " } -- Abandoned template strings -- Network Ethernet: -- \| %enp3s0% \ -- Battery: -- \| %battery% \