Ei kuvausta

taffybar.hs 1.3KB

    import System.Taffybar import System.Taffybar.Battery import System.Taffybar.Systray import System.Taffybar.XMonadLog import System.Taffybar.SimpleClock import System.Taffybar.Widgets.PollingGraph import System.Taffybar.Widgets.PollingLabel import System.Information.CPU import System.Information.Memory (parseMeminfo, memoryUsedRatio) import Graphics.UI.Gtk (widgetShowAll) cpuCallback = do (_, systemLoad, totalLoad) <- cpuLoad return [ totalLoad, systemLoad ] formatMeminfo m = "Mem: " ++ memPercentage ++ "%" where memPercentage = show . truncate . ((*) 100) $ memoryUsedRatio m textMemoryNew intervalSeconds = do memLabel <- pollingLabelNew "" intervalSeconds (parseMeminfo >>= return . formatMeminfo) widgetShowAll memLabel return memLabel main = do let cpuCfg = defaultGraphConfig { graphDataColors = [(0, 1, 0, 1), (1, 0, 1, 0.5)] } clock = textClockNew Nothing "<span fgcolor='orange'>%a %b %_d %H:%M</span>" 1 log = xmonadLogNew tray = systrayNew cpu = pollingGraphNew cpuCfg 3 cpuCallback battery = textBatteryNew "Bat: %d%%" 30 memory = textMemoryNew 3 defaultTaffybar defaultTaffybarConfig { barHeight = 15, startWidgets = [log], endWidgets = [tray, clock, memory, battery, cpu] }