summaryrefslogtreecommitdiffstats
path: root/XMonad/Core.hs
diff options
context:
space:
mode:
Diffstat (limited to 'XMonad/Core.hs')
-rw-r--r--XMonad/Core.hs8
1 files changed, 6 insertions, 2 deletions
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"