diff options
| author | Jose Antonio Ortega Ruiz <jao@gnu.org> | 2010-12-19 05:05:47 +0100 | 
|---|---|---|
| committer | Jose Antonio Ortega Ruiz <jao@gnu.org> | 2010-12-19 05:05:47 +0100 | 
| commit | 35944478a10cee4bf5da299b8450f82f0177b655 (patch) | |
| tree | d3e7ac1d11f511e0a740916bc62c12afb6c1154d /Plugins/Monitors | |
| parent | af032b8b70c1f5a71a919bbbc96682bae0c1b097 (diff) | |
| download | xmobar-35944478a10cee4bf5da299b8450f82f0177b655.tar.gz xmobar-35944478a10cee4bf5da299b8450f82f0177b655.tar.bz2 | |
Idle refactoring
Diffstat (limited to 'Plugins/Monitors')
| -rw-r--r-- | Plugins/Monitors/Top.hs | 19 | 
1 files changed, 8 insertions, 11 deletions
| diff --git a/Plugins/Monitors/Top.hs b/Plugins/Monitors/Top.hs index e83e94b..6af22e3 100644 --- a/Plugins/Monitors/Top.hs +++ b/Plugins/Monitors/Top.hs @@ -127,17 +127,16 @@ timeMemEntries :: IO [(TimeEntry, Meminfo)]  timeMemEntries = handleProcesses timeMemEntry  timeMemInfos :: IO (Times, [Meminfo], Int) -timeMemInfos = -  fmap (\x -> (sortPids $ map fst x, map snd x, length x)) timeMemEntries -  where sortPids =  sortBy (comparing fst) +timeMemInfos = fmap res timeMemEntries +  where res x = (sortBy (comparing fst) $ map fst x, map snd x, length x)  combine :: Times -> Times -> Times  combine _ [] = [] -combine [] t = t -combine l@((p0, (n0, t0)):xs) r@((p1, (n1, t1)):ys) -  | p0 == p1 = (p0, (n0, t1 - t0)) : combine xs ys -  | p0 < p1 = combine xs r -  | otherwise = (p1, (n1, t1)) : combine l ys +combine [] ts = ts +combine l@((p0, (n0, t0)):ls) r@((p1, (n1, t1)):rs) +  | p0 == p1 = (p0, (n0, t1 - t0)) : combine ls rs +  | p0 < p1 = combine ls r +  | otherwise = (p1, (n1, t1)) : combine l rs  topProcesses :: TimesRef -> Float -> IO (Int, [TimeInfo], [Meminfo])  topProcesses tref scale = do @@ -161,9 +160,7 @@ runTop tref scale _ = do    (no, ps, ms) <- io $ topProcesses tref scale    pstr <- mapM showTimeInfo ps    mstr <- showMeminfos ms -  let !pstr' = take maxEntries pstr -      !mstr' = take maxEntries mstr -  parseTemplate $! show no : concat (zipWith (++) pstr' mstr') +  parseTemplate $ show no : concat (zipWith (++) pstr mstr) ++ repeat "N/A"  startTop :: [String] -> Int -> (String -> IO ()) -> IO ()  startTop a r cb = do | 
