diff options
| -rw-r--r-- | Main.hs | 51 | 
1 files changed, 25 insertions, 26 deletions
| @@ -33,38 +33,37 @@ import System.Posix.Files  -- | The main entry point  main :: IO () -main =  -    do args     <- getArgs -       (o,file) <- getOpts args -       c        <- case file of -                     [cfgfile] -> readConfig cfgfile -                     _         -> readDefaultConfig -       civ      <- newIORef c -       doOpts civ o -       conf     <- readIORef civ -       cl       <- parseTemplate conf (template conf) -       vars     <- mapM startCommand cl -       (d,w)    <- createWin conf -       eventLoop conf vars d w -       return () +main = do +  args     <- getArgs +  (o,file) <- getOpts args +  c        <- case file of +                [cfgfile] -> readConfig cfgfile +                _         -> readDefaultConfig +  civ      <- newIORef c +  doOpts civ o +  conf     <- readIORef civ +  cl       <- parseTemplate conf (template conf) +  vars     <- mapM startCommand cl +  (d,w)    <- createWin conf +  eventLoop conf vars d w  -- | Reads the configuration files or quits with an error  readConfig :: FilePath -> IO Config -readConfig f =  -    do file <- fileExist f -       s    <- if file then readFile f else error $ f ++ ": file not found!\n" ++ usage -       case reads s of -         [(conf,_)] -> return conf -         [] -> error $ f ++ ": configuration file contains errors!\n" ++ usage -         _  -> error ("Some problem occured. Aborting...") +readConfig f = do +  file <- fileExist f +  s    <- if file then readFile f else error $ f ++ ": file not found!\n" ++ usage +  case reads s of +    [(conf,_)] -> return conf +    []         -> error $ f ++ ": configuration file contains errors!\n" ++ usage +    _          -> error ("Some problem occured. Aborting...")  -- | Read default configuration file or load the default config  readDefaultConfig :: IO Config -readDefaultConfig =  -    do home <- getEnv "HOME" -       let path = home ++ "/.xmobarrc" -       f <- fileExist path -       if f then readConfig path else return defaultConfig +readDefaultConfig = do +  home <- getEnv "HOME" +  let path = home ++ "/.xmobarrc" +  f <- fileExist path +  if f then readConfig path else return defaultConfig  data Opts = Help            | Version  | 
