From 636c6edc8a6d799846aece65744643e4adb0e82c Mon Sep 17 00:00:00 2001
From: jao <jao@gnu.org>
Date: Fri, 26 Dec 2014 18:20:49 +0100
Subject: Honour the -S (show suffix) monitor flag in CpuFreq

---
 news.md                         |  4 ++++
 src/Plugins/Monitors/CpuFreq.hs | 22 ++++++++++++----------
 2 files changed, 16 insertions(+), 10 deletions(-)

diff --git a/news.md b/news.md
index 21227d0..bd18ada 100644
--- a/news.md
+++ b/news.md
@@ -13,6 +13,10 @@ _New features_
 [issue #171]: https://github.com/jaor/xmobar/issues/171
 [issue #201]: https://github.com/jaor/xmobar/issues/201
 
+_Bug fixes_
+
+  - We honour the `-S` (show suffix) monitor flag in `CpuFreq`.
+
 ## Version 0.22.1 (Oct 11, 2014)
 
 _Bug fixes_
diff --git a/src/Plugins/Monitors/CpuFreq.hs b/src/Plugins/Monitors/CpuFreq.hs
index d3ecf89..8301547 100644
--- a/src/Plugins/Monitors/CpuFreq.hs
+++ b/src/Plugins/Monitors/CpuFreq.hs
@@ -18,22 +18,24 @@ import Plugins.Monitors.Common
 import Plugins.Monitors.CoreCommon
 
 -- |
--- Cpu frequency default configuration. Default template contains only one
--- core frequency, user should specify custom template in order to get more
--- cpu frequencies.
+-- Cpu frequency default configuration. Default template contains only
+-- one core frequency, user should specify custom template in order to
+-- get more cpu frequencies.
 cpuFreqConfig :: IO MConfig
-cpuFreqConfig = mkMConfig
-       "Freq: <cpu0>" -- template
-       (map ((++) "cpu" . show) [0 :: Int ..]) -- available
-                                             -- replacements
+cpuFreqConfig =
+  mkMConfig "Freq: <cpu0>" (map ((++) "cpu" . show) [0 :: Int ..])
+
 
 -- |
--- 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
+  suffix <- getConfigValue useSuffix
   let path = ["/sys/devices/system/cpu/cpu", "/cpufreq/scaling_cur_freq"]
       divisor = 1e6 :: Double
-      fmt x | x < 1 = show (round (x * 1000) :: Integer) ++ "MHz"
-            | otherwise = show x ++ "GHz"
+      fmt x | x < 1 = show (round (x * 1000) :: Integer) ++
+                      if suffix then "MHz" else ""
+            | otherwise = show x ++ if suffix then "GHz" else ""
   failureMessage <- getConfigValue naString
   checkedDataRetrieval failureMessage [path] Nothing (/divisor) fmt
-- 
cgit v1.2.3