From 6c72a03fb158e383c3cfe7a15ed51053e16b90f2 Mon Sep 17 00:00:00 2001 From: Spencer Janssen Date: Sat, 22 Dec 2007 02:05:20 +0000 Subject: [PATCH] Add support for several flags: --version: print xmonad's version --recompile: recompile xmonad.hs if it is out of date --force-recompile: recompile xmonad.hs unconditionally --- Main.hs | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/Main.hs b/Main.hs index a38f697..ca34dc1 100644 --- a/Main.hs +++ b/Main.hs @@ -26,8 +26,15 @@ import System.Posix.Process (executeFile) -- for xmonad, and if it doesn't find one, just launches the default. main :: IO () main = do - handle (hPrint stderr) buildLaunch - xmonad defaultConfig -- if buildLaunch returns, execute the trusted core + args <- getArgs + let launch = handle (hPrint stderr) buildLaunch >> xmonad defaultConfig + case args of + [] -> launch + ["--resume", _] -> launch + ["--recompile"] -> recompile False + ["--recompile-force"] -> recompile True + ["--version"] -> putStrLn "xmonad 0.5" + _ -> fail "unrecognized flags" -- | Build "~/.xmonad/xmonad.hs" with ghc, then execute it. If there are no -- errors, this function does not return. An exception is raised in any of