From 1f1f0bd8b811740c84215f9ed4fa5ebd8309a990 Mon Sep 17 00:00:00 2001 From: slotThe Date: Thu, 9 Jan 2020 15:54:47 +0100 Subject: Use a single Manager across the whole application --- src/Xmobar/Plugins/Monitors/Common/Types.hs | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'src/Xmobar/Plugins/Monitors/Common') diff --git a/src/Xmobar/Plugins/Monitors/Common/Types.hs b/src/Xmobar/Plugins/Monitors/Common/Types.hs index c36a562..8662ba3 100644 --- a/src/Xmobar/Plugins/Monitors/Common/Types.hs +++ b/src/Xmobar/Plugins/Monitors/Common/Types.hs @@ -25,8 +25,9 @@ module Xmobar.Plugins.Monitors.Common.Types ( Monitor , io ) where -import Data.IORef -import Control.Monad.Reader +import Data.IORef (IORef, modifyIORef, newIORef, readIORef) +import Control.Monad.Reader (ReaderT, ask, liftIO) +import Network.HTTP.Conduit (Manager, newManager, tlsManagerSettings) type Monitor a = ReaderT MConfig IO a @@ -55,6 +56,7 @@ data MConfig = , naString :: IORef String , maxTotalWidth :: IORef Int , maxTotalWidthEllipsis :: IORef String + , manager :: IORef Manager } -- | from 'http:\/\/www.haskell.org\/hawiki\/MonadState' @@ -102,7 +104,8 @@ mkMConfig tmpl exprts = na <- newIORef "N/A" mt <- newIORef 0 mtel <- newIORef "" - return $ MC nc l lc h hc t e p d mn mx mel pc pr bb bf bw up na mt mtel + man <- newIORef =<< newManager tlsManagerSettings + return $ MC nc l lc h hc t e p d mn mx mel pc pr bb bf bw up na mt mtel man data Opts = HighColor String | NormalColor String -- cgit v1.2.3