diff options
Diffstat (limited to 'src/Xmobar/Plugins/Monitors')
| -rw-r--r-- | src/Xmobar/Plugins/Monitors/CoreTemp.hs | 22 | 
1 files changed, 14 insertions, 8 deletions
| diff --git a/src/Xmobar/Plugins/Monitors/CoreTemp.hs b/src/Xmobar/Plugins/Monitors/CoreTemp.hs index 3b9bd53..35378eb 100644 --- a/src/Xmobar/Plugins/Monitors/CoreTemp.hs +++ b/src/Xmobar/Plugins/Monitors/CoreTemp.hs @@ -16,13 +16,13 @@  module Xmobar.Plugins.Monitors.CoreTemp (startCoreTemp) where  import Xmobar.Plugins.Monitors.Common -import Data.Char (isDigit)  -- | Generate Config with a default template and options.  coreTempConfig :: IO MConfig  coreTempConfig = mkMConfig coreTempTemplate coreTempOptions    where coreTempTemplate = "Temp: <total>°C" -        coreTempOptions = map ((++) "core" . show) [0 :: Int ..] +        coreTempOptions = map (("core" ++) . show) [0 :: Int ..] ++ +                          ["total"]  -- | FilePaths to read temperature from. Strings are seperated, where to  -- insert numbers. @@ -31,15 +31,21 @@ coreTempFilePaths = [ ["/sys/bus/platform/devices/coretemp." , "/temp" , "_input                      , ["/sys/bus/platform/devices/coretemp.", "/hwmon/hwmon", "/temp", "_input"]                      ] +coreTempNormalize :: Double -> Double +coreTempNormalize = (/ 1000) +  -- | Retrieves Monitor String holding the core temperatures.  runCoreTemp :: [String] -> Monitor String  runCoreTemp _ = do -   dn <- getConfigValue decDigits -   failureMessage <- getConfigValue naString -   let lbl  = Just ("_label", read . dropWhile (not . isDigit)) -       divisor = 1e3 :: Double -       show' = showDigits (max 0 dn) -   checkedDataRetrieval failureMessage coreTempFilePaths lbl (/divisor) show' +   confDecDigits <- getConfigValue decDigits +   confNaString <- getConfigValue naString +   let coreLabel = Nothing +       coreTempShow = showDigits (max 0 confDecDigits) +   checkedDataRetrieval confNaString +                        coreTempFilePaths +                        coreLabel +                        coreTempNormalize +                        coreTempShow  startCoreTemp :: [String] -> Int -> (String -> IO ()) -> IO ()  startCoreTemp a r cb = runM a coreTempConfig runCoreTemp r cb | 
