From 60196eeaa9458fa58355701ad7ebf2fb52508519 Mon Sep 17 00:00:00 2001 From: Lukas Mai Date: Wed, 21 Nov 2007 19:30:18 +0100 Subject: add getXMonadDir (2nd try) darcs-hash:20071121183018-462cf-464c521bd6fb9c7910186d20cd6023c90c7998ea --- Main.hs | 5 ++--- XMonad/Core.hs | 8 ++++++-- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/Main.hs b/Main.hs index 76df27d..1d89e5f 100644 --- a/Main.hs +++ b/Main.hs @@ -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 () diff --git a/XMonad/Core.hs b/XMonad/Core.hs index f3fdc79..05f2b9b 100644 --- a/XMonad/Core.hs +++ b/XMonad/Core.hs @@ -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" -- cgit v1.2.3