diff options
author | Lukas Mai <l.mai@web.de> | 2007-11-21 19:30:18 +0100 |
---|---|---|
committer | Lukas Mai <l.mai@web.de> | 2007-11-21 19:30:18 +0100 |
commit | 60196eeaa9458fa58355701ad7ebf2fb52508519 (patch) | |
tree | d722aa559ed16f9759ce87d20e7e341cad0480af | |
parent | d7afdbd26d58a149520b1ab56730b7e348f95db3 (diff) | |
download | metatile-60196eeaa9458fa58355701ad7ebf2fb52508519.tar metatile-60196eeaa9458fa58355701ad7ebf2fb52508519.zip |
add getXMonadDir (2nd try)
darcs-hash:20071121183018-462cf-464c521bd6fb9c7910186d20cd6023c90c7998ea
-rw-r--r-- | Main.hs | 5 | ||||
-rw-r--r-- | XMonad/Core.hs | 8 |
2 files changed, 8 insertions, 5 deletions
@@ -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" |