44 lines
1.2 KiB
Haskell
44 lines
1.2 KiB
Haskell
import Xmobar
|
|
|
|
-- TODOS:
|
|
-- - custom cpu module
|
|
-- - custom mem module
|
|
-- - custom network/ping module with avg of n pings and blah
|
|
-- - custom graph rendering based on braille characters
|
|
-- - custom "ramp" thingies
|
|
-- - newsticker?
|
|
-- - mail/message monitoring
|
|
-- - if possible, different bars per workspace
|
|
|
|
data CustomCpu = CustomCpu
|
|
deriving (Read, Show)
|
|
|
|
instance Exec CustomCpu where
|
|
alias CustomCpu = "cpu"
|
|
run CustomCpu = return "meow"
|
|
|
|
fc code content = "<fc=" ++ code ++ ">" ++ content ++ "</fc>"
|
|
|
|
sep = fc "#7c6f64"
|
|
icon = fc "#d65d0e"
|
|
|
|
config :: Config
|
|
config =
|
|
defaultConfig
|
|
{ font = "FiraCode Nerd Font",
|
|
allDesktops = True,
|
|
alpha = 255,
|
|
bgColor = "#282828",
|
|
fgColor = "#ebdbb2",
|
|
commands =
|
|
[ Run $ Memory ["t", "Mem: <usedratio>%"] 10,
|
|
Run $ CustomCpu,
|
|
Run $ Date (icon "\983277" ++ " %Y" ++ sep "-" ++ "%m" ++ sep "-" ++ "%d " ++ icon "\988236" ++ " %H" ++ sep ":" ++ "%M" ++ sep ":" ++ "%S ") "date" 10
|
|
],
|
|
template = "%memory% }{ %cpu% }{ %date%",
|
|
alignSep = "}{",
|
|
position = TopH 24
|
|
}
|
|
|
|
main :: IO ()
|
|
main = xmobar config -- or: configFromArgs config >>= xmobar
|