aboutsummaryrefslogtreecommitdiffstats
path: root/XMonad/Layout/WorkspaceDir.hs
diff options
context:
space:
mode:
authorDaniel Wagner <daniel@wagner-home.com>2011-07-31 19:08:50 +0200
committerDaniel Wagner <daniel@wagner-home.com>2011-07-31 19:08:50 +0200
commit39f010d82d0292d9417a06abaf91dabb43ea3ef4 (patch)
tree1c701e3b4781a6460131c9e28e2705d8fb923f64 /XMonad/Layout/WorkspaceDir.hs
parent3eae9324c087da3fae57f2dcd9181eb850f12c1a (diff)
downloadXMonadContrib-39f010d82d0292d9417a06abaf91dabb43ea3ef4.tar.gz
XMonadContrib-39f010d82d0292d9417a06abaf91dabb43ea3ef4.tar.xz
XMonadContrib-39f010d82d0292d9417a06abaf91dabb43ea3ef4.zip
GHC 7 compat
Ignore-this: 17a43a709e70ebccc925e016d7057399 * true error: more modules export foldl/foldl'/foldr, so explicitly use the Data.Foldable one * -Werror error: transition from Control.OldException to Control.Exception, assuming everything was IOException darcs-hash:20110731170850-76d51-71271524485f6d10f84521f271182bea5085d400.gz
Diffstat (limited to 'XMonad/Layout/WorkspaceDir.hs')
-rw-r--r--XMonad/Layout/WorkspaceDir.hs7
1 files changed, 6 insertions, 1 deletions
diff --git a/XMonad/Layout/WorkspaceDir.hs b/XMonad/Layout/WorkspaceDir.hs
index 775653b..ffffded 100644
--- a/XMonad/Layout/WorkspaceDir.hs
+++ b/XMonad/Layout/WorkspaceDir.hs
@@ -28,6 +28,8 @@ module XMonad.Layout.WorkspaceDir (
changeDir
) where
+import Prelude hiding (catch)
+import Control.Exception
import System.Directory ( setCurrentDirectory, getCurrentDirectory )
import Control.Monad ( when )
@@ -38,6 +40,9 @@ import XMonad.Prompt.Directory ( directoryPrompt )
import XMonad.Layout.LayoutModifier
import XMonad.StackSet ( tag, currentTag )
+econst :: Monad m => a -> IOException -> m a
+econst = const . return
+
-- $usage
-- You can use this module with the following in your @~\/.xmonad\/xmonad.hs@:
--
@@ -84,7 +89,7 @@ cleanDir :: String -> X String
cleanDir x = scd x >> io getCurrentDirectory
scd :: String -> X ()
-scd x = do x' <- io (runProcessWithInput "bash" [] ("echo -n " ++ x) `catch` \_ -> return x)
+scd x = do x' <- io (runProcessWithInput "bash" [] ("echo -n " ++ x) `catch` econst x)
catchIO $ setCurrentDirectory x'
changeDir :: XPConfig -> X ()