2016-09-16 14:11:52 -07:00
|
|
|
import System.Taffybar
|
|
|
|
|
|
|
|
import System.Taffybar.Systray
|
|
|
|
import System.Taffybar.TaffyPager
|
|
|
|
import System.Taffybar.SimpleClock
|
|
|
|
import System.Taffybar.FreedesktopNotifications
|
|
|
|
import System.Taffybar.Weather
|
|
|
|
import System.Taffybar.MPRIS
|
|
|
|
|
|
|
|
import System.Taffybar.Widgets.PollingBar
|
|
|
|
import System.Taffybar.Widgets.PollingGraph
|
|
|
|
|
|
|
|
import System.Information.Memory
|
|
|
|
import System.Information.CPU
|
|
|
|
|
|
|
|
memCallback = do
|
|
|
|
mi <- parseMeminfo
|
|
|
|
return [memoryUsedRatio mi]
|
|
|
|
|
|
|
|
cpuCallback = do
|
|
|
|
(userLoad, systemLoad, totalLoad) <- cpuLoad
|
|
|
|
return [totalLoad, systemLoad]
|
|
|
|
|
|
|
|
main = do
|
|
|
|
let memCfg = defaultGraphConfig { graphDataColors = [(1, 0, 0, 1)]
|
|
|
|
, graphLabel = Just "mem"
|
|
|
|
}
|
|
|
|
cpuCfg = defaultGraphConfig { graphDataColors = [ (0, 1, 0, 1)
|
|
|
|
, (1, 0, 1, 0.5)
|
|
|
|
]
|
|
|
|
, graphLabel = Just "cpu"
|
|
|
|
}
|
2016-09-19 12:07:40 -07:00
|
|
|
let clock = textClockNew Nothing "<span fgcolor='orange'>%a %b %_d %r</span>" 1
|
2016-09-16 14:11:52 -07:00
|
|
|
pager = taffyPagerNew defaultPagerConfig
|
|
|
|
note = notifyAreaNew defaultNotificationConfig
|
|
|
|
mpris = mprisNew defaultMPRISConfig
|
|
|
|
mem = pollingGraphNew memCfg 1 memCallback
|
|
|
|
cpu = pollingGraphNew cpuCfg 0.5 cpuCallback
|
|
|
|
tray = systrayNew
|
|
|
|
defaultTaffybar defaultTaffybarConfig { startWidgets = [ pager, note ]
|
|
|
|
, endWidgets = [ tray, wea, clock, mem, cpu, mpris ]
|
|
|
|
}
|
|
|
|
|
|
|
|
-- Local Variables:
|
|
|
|
-- flycheck-ghc-args: ("-Wno-missing-signatures")
|
|
|
|
-- End:
|