diff options
author | David Roundy <droundy@darcs.net> | 2007-07-26 15:35:20 +0200 |
---|---|---|
committer | David Roundy <droundy@darcs.net> | 2007-07-26 15:35:20 +0200 |
commit | eca29c10f3fbf382f7f01fdbf2a728df7d88608d (patch) | |
tree | 8f722f686d701dc2df8acc5d7125877d639b7974 /WorkspaceDir.hs | |
parent | 29a89bf278b310b9364bed850a1f169d0a61df00 (diff) | |
download | XMonadContrib-eca29c10f3fbf382f7f01fdbf2a728df7d88608d.tar.gz XMonadContrib-eca29c10f3fbf382f7f01fdbf2a728df7d88608d.tar.xz XMonadContrib-eca29c10f3fbf382f7f01fdbf2a728df7d88608d.zip |
fix WorkspaceDir (which was broken) using LayoutHelpers.
darcs-hash:20070726133520-72aca-28bb4ee8d761e5a4f4040078b16c82d6989808fc.gz
Diffstat (limited to 'WorkspaceDir.hs')
-rw-r--r-- | WorkspaceDir.hs | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/WorkspaceDir.hs b/WorkspaceDir.hs index dba4b35..6877ea1 100644 --- a/WorkspaceDir.hs +++ b/WorkspaceDir.hs @@ -31,6 +31,7 @@ import Data.List ( nub ) import XMonad import Operations ( sendMessage ) import XMonadContrib.Dmenu ( dmenu, runProcessWithInput ) +import XMonadContrib.LayoutHelpers ( layoutModify ) -- $usage -- You can use this module with the following in your Config.hs file: @@ -48,10 +49,10 @@ data Chdir = Chdir String deriving ( Typeable ) instance Message Chdir workspaceDir :: String -> Layout a -> Layout a -workspaceDir wd l = l { doLayout = \r x -> scd wd >> doLayout l r x - , modifyLayout = ml } - where ml m | Just (Chdir wd') <- fromMessage m = return $ Just (workspaceDir wd' l) - | otherwise = fmap (workspaceDir wd) `fmap` modifyLayout l m +workspaceDir wd = layoutModify dowd modwd + where dowd _ _ rws = scd wd >> return (rws, Nothing) + modwd m = return $ do Chdir wd' <- fromMessage m + Just $ workspaceDir wd' scd :: String -> X () scd x = do x' <- io (runProcessWithInput "bash" [] ("echo -n " ++ x) `catch` \_ -> return x) |