summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/XMonad/Local/Actions.hs12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/XMonad/Local/Actions.hs b/src/XMonad/Local/Actions.hs
index 5200ce6..5b8c86f 100644
--- a/src/XMonad/Local/Actions.hs
+++ b/src/XMonad/Local/Actions.hs
@@ -4,6 +4,8 @@ module XMonad.Local.Actions where
import Control.Monad
import Data.Maybe
+import System.Posix.Directory
+import System.Posix.Env
import System.Posix.Signals (Signal, signalProcess)
import XMonad
@@ -14,8 +16,14 @@ import qualified XMonad.Util.WindowProperties as WP
import qualified XMonad.Local.Config as Local
-- launch applications ********************************************************
-spawnExplorer :: MonadIO m => m ()
-spawnExplorer = spawn Local.explorer
+spawnExplorer :: X ()
+spawnExplorer = do
+ cwd <- liftIO getWorkingDirectory
+ pth <- liftIO $ getEnvDefault "HOME" cwd
+ spawnExplorerIn pth
+
+spawnExplorerIn :: String -> X ()
+spawnExplorerIn dir = spawnShellIn dir (Just Local.explorer)
spawnShell :: Maybe String -> X()
spawnShell = spawnShellIn ""