add getXMonadDir (2nd try)

This commit is contained in:
Lukas Mai 2007-11-21 18:30:18 +00:00
parent 1ab1d729a0
commit 4fa10442ab
2 changed files with 8 additions and 5 deletions

View File

@ -16,11 +16,10 @@ module Main (main) where
import XMonad.Main
import XMonad.Config
import XMonad.Core (recompile)
import XMonad.Core (getXMonadDir, recompile)
import Control.Exception (handle)
import System.IO
import System.Directory
import System.Environment
import System.Posix.Process (executeFile)
@ -44,7 +43,7 @@ main = do
buildLaunch :: IO ()
buildLaunch = do
recompile False
dir <- fmap (++ "/.xmonad") getHomeDirectory
dir <- getXMonadDir
args <- getArgs
executeFile (dir ++ "/xmonad") False args Nothing
return ()

View File

@ -26,7 +26,7 @@ module XMonad.Core (
SomeMessage(..), fromMessage, runLayout, LayoutMessages(..),
runX, catchX, userCode, io, catchIO,
withDisplay, withWindowSet, isRoot,
getAtom, spawn, restart, recompile, trace, whenJust, whenX,
getAtom, spawn, restart, getXMonadDir, recompile, trace, whenJust, whenX,
atom_WM_STATE, atom_WM_PROTOCOLS, atom_WM_DELETE_WINDOW, ManageHook, Query(..), runManageHook
) where
@ -313,6 +313,10 @@ restart mprog resume = do
catchIO (executeFile prog True args Nothing)
where showWs = show . mapLayout show
-- | Return the path to @~\/.xmonad@.
getXMonadDir :: MonadIO m => m String
getXMonadDir = io $ getAppUserDataDirectory "xmonad"
-- | 'recompile force', recompile ~\/.xmonad\/xmonad.hs when any of the
-- following apply:
-- * force is True
@ -327,7 +331,7 @@ restart mprog resume = do
--
recompile :: MonadIO m => Bool -> m ()
recompile force = io $ do
dir <- (++ "/.xmonad") <$> getHomeDirectory
dir <- getXMonadDir
let bin = dir ++ "/" ++ "xmonad"
err = bin ++ ".errors"
src = bin ++ ".hs"