config/.config/xmobar/xmobarrc.hs

130 lines
6.3 KiB
Haskell

Config {
-- appearance
font = "xft:Fira Code:size=11:bold:antialias=true:hinting=true"
, bgColor = "#14071F"
, fgColor = "#646464"
, position = Top
, border = BottomB
, borderColor = "#14071F"
, iconRoot = "/home/solomon/.xmonad/xpm/" -- default: "."
-- layout
, sepChar = "%" -- delineator between plugin names and straight text
, alignSep = "}{" -- separator between left-right alignment
, template = " <action=`xdotool key super+o`><icon=haskell_20.xpm/></action> %UnsafeStdinReader% <fc=#805a9b>|</fc> <fc=#f3617a>%cpu%</fc> <fc=#805a9b>|</fc> <fc=#b262cd>%memory%</fc> <fc=#805a9b>|</fc> <fc=#706bc2>%dynnetwork%</fc> } \
\{ <fc=#ee9a00>%date%</fc> <fc=#805a9b>|</fc> <fc=#fc7d28>%updates%</fc> <fc=#805a9b>|</fc> <fc=#b55322>%YPAD%</fc> <fc=#805a9b>|</fc> <fc=#6e1a11>%battery%</fc> %trayerpad%"
}
-- general behavior
, lowerOnStart = True -- send to bottom of window stack on start
, hideOnStart = False -- start with window unmapped (hidden)
, allDesktops = True -- show on all desktops
, overrideRedirect = True -- set the Override Redirect flag (Xlib)
, pickBroadest = False -- choose widest display (multi-monitor)
, persistent = True -- enable/disable hiding (True = disabled)
-- plugins
-- Numbers can be automaticallJy colored according to their value. xmobar
-- decides color based on a three-tier/two-cutoff system, controlled by
-- command options:
-- --Low sets the low cutoff
-- --High sets the high cutoff
--
-- --low sets the color below --Low cutoff
-- --normal sets the color between --Low and --High cutoffs
-- --High sets the color above --High cutoff
--
-- The --template option controls how the plugin is displayed. Text
-- color can be set by enclosing in <fc></fc> tags. For more details
-- see http://projects.haskell.org/xmobar/#system-monitor-plugins.
, commands =
-- weather monitor
[ Run Weather "YPAD" ["--template" , "<station>: <tempC>C"
, "--Low" , "10"
, "--High" , "25"
, "--normal" , "#95C05D"
, "--high" , "red"
, "--low" , "lightblue"
] 36000
-- network activity monitor
-- , Run Network "enp33s0" [ "--template" , "eth: <icon=net_up_20.xpm/><tx>kB/s <icon=net_down_20.xpm/><rx>kB/s"
-- , "--Low" , "100000" -- units: B/s
-- , "--High" , "500000" -- units: B/s
-- , "--low" , "#95C05D"
-- , "--normal" , "#ee9a00"
-- , "--high" , "#882410"
-- ] 10
-- , Run Network "wlp36s0" [ "--template" , "wlan: <icon=net_up_20.xpm/><tx>kB/s <icon=net_down_20.xpm/><rx>kB/s"
-- , "--Low" , "100000" -- units: B/s
-- , "--High" , "500000" -- units: B/s
-- , "--low" , "#95C05D"
-- , "--normal" , "#ee9a00"
-- , "--high" , "#882410"
-- ] 10
-- network activity monitor (dynamic interface resolution)
, Run DynNetwork [ "--template" , "<dev>: <icon=net_up_20.xpm/><tx>kB/s <icon=net_down_20.xpm/><rx>kB/s"
, "--Low" , "100000" -- units: B/s
, "--High" , "500000" -- units: B/s
, "--low" , "#95C05D"
, "--normal" , "#ee9a00"
, "--high" , "#882410"
] 10
-- cpu activity monitor
, Run Cpu [ "--template" , "cpu: <total>%"
, "--Low" , "30" -- units: %
, "--High" , "60" -- units: %
, "--low" , "#95C05D"
, "--normal" , "#ee9a00"
, "--high" , "#882410"
] 10
-- memory usage monitor
-- , Run Memory [ "--template" ,"mem: <usedratio>% (<used>Mb)"
, Run Memory [ "--template" ,"mem: <usedratio>%"
, "--Low" , "20" -- units: %
, "--High" , "90" -- units: %
, "--low" , "#95C05D"
, "--normal" , "#ee9a00"
, "--high" , "#882410"
] 10
-- time and date indicator
-- (%F = y-m-d date, %a = day of week, %T = h:m:s time)
, Run Date "%a %d %b %H:%M" "date" 10
-- keyboard layout indicator
-- , Run Kbd [ ("us(dvorak)" , "DV")
-- , ("us" , "US")
-- ]
-- 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 BatteryP ["BAT0"]
[ "--template", "<acstatus>: <left>%, <timeleft>"
, "-L", "10", "-H", "80"
, "-l", "red", "-h", "green"
, "--", "-O", "Charging", "-o", "Battery"
] 10
-- Runs a standard shell command 'uname -r' to get kernel version
-- , Run Com "uname" ["-r"] "" 3600
-- Runs a simple script that counts the number of system updates to apply
, Run Com "/home/solomon/.config/xmobar/count-updates.sh" [] "updates" 3600
-- Script that dynamically adjusts xmobar padding depending on number of trayer icons.
, Run Com "/home/solomon/.config/xmobar/trayer-padding-icon.sh" [] "trayerpad" 20
-- Prints out the left side items such as workspaces, layout, etc.
, Run UnsafeStdinReader
]
}