summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorJose Antonio Ortega Ruiz <jao@gnu.org>2010-12-08 20:09:33 +0100
committerJose Antonio Ortega Ruiz <jao@gnu.org>2010-12-08 20:09:33 +0100
commit5a8064c2a5dd10fb1a6c6c2bf9fa560402f886ac (patch)
tree0f6d4e7b7c2b4ffd9bb94608b23d2c95e9ed9c5f
parent386c07f501d2522bd2e3aba8a4f81e52fcafe008 (diff)
downloadxmobar-5a8064c2a5dd10fb1a6c6c2bf9fa560402f886ac.tar.gz
xmobar-5a8064c2a5dd10fb1a6c6c2bf9fa560402f886ac.tar.bz2
CpuFreq: limit GHz values to one decimal digit
Thanks to Petr Rockai
-rw-r--r--Plugins/Monitors/Common.hs5
-rw-r--r--Plugins/Monitors/CpuFreq.hs7
2 files changed, 6 insertions, 6 deletions
diff --git a/Plugins/Monitors/Common.hs b/Plugins/Monitors/Common.hs
index 9f1db3c..9a76be5 100644
--- a/Plugins/Monitors/Common.hs
+++ b/Plugins/Monitors/Common.hs
@@ -317,9 +317,8 @@ takeDigits d n =
fromIntegral (round (n * fact) :: Int) / fact
where fact = 10 ^ d
-showDigits :: Int -> Float -> String
-showDigits d n =
- showFFloat (Just d) n ""
+showDigits :: (RealFloat a) => Int -> a -> String
+showDigits d n = showFFloat (Just d) n ""
showWithUnits :: Int -> Int -> Float -> String
showWithUnits d n x
diff --git a/Plugins/Monitors/CpuFreq.hs b/Plugins/Monitors/CpuFreq.hs
index fd1da4c..4f01922 100644
--- a/Plugins/Monitors/CpuFreq.hs
+++ b/Plugins/Monitors/CpuFreq.hs
@@ -28,7 +28,8 @@ cpuFreqConfig = mkMConfig
-- replacements
-- |
--- Function retrieves monitor string holding the cpu frequency (or frequencies)
+-- Function retrieves monitor string holding the cpu frequency (or
+-- frequencies)
runCpuFreq :: [String] -> Monitor String
runCpuFreq _ = do
let dir = "/sys/devices/system/cpu"
@@ -36,7 +37,7 @@ runCpuFreq _ = do
pattern = "cpu"
divisor = 1e6 :: Double
failureMessage = "CpuFreq: N/A"
- fmt x | x < 1 = (show (round (x * 1000) :: Integer)) ++ "MHz"
- | otherwise = (show x) ++ "GHz"
+ fmt x | x < 1 = show (round (x * 1000) :: Integer) ++ "MHz"
+ | otherwise = showDigits 1 x ++ "GHz"
checkedDataRetrieval failureMessage dir file pattern (/divisor) fmt