aboutsummaryrefslogtreecommitdiffstats
path: root/WorkspaceDir.hs
diff options
context:
space:
mode:
authorDavid Roundy <droundy@darcs.net>2007-08-14 21:11:03 +0200
committerDavid Roundy <droundy@darcs.net>2007-08-14 21:11:03 +0200
commit450717ef44ff3ff06c0bc228acd1547e33b72d36 (patch)
treed5e021caa477f920b5bef370cac3f4704a2a805a /WorkspaceDir.hs
parent03f5d93ba1d2a0488468186f61b300d3621b3c79 (diff)
downloadXMonadContrib-450717ef44ff3ff06c0bc228acd1547e33b72d36.tar.gz
XMonadContrib-450717ef44ff3ff06c0bc228acd1547e33b72d36.tar.xz
XMonadContrib-450717ef44ff3ff06c0bc228acd1547e33b72d36.zip
use XPrompt in WorkspaceDir.
darcs-hash:20070814191103-72aca-dfa6265cb6f55918e7f66f856fb7e60ac22b42cd.gz
Diffstat (limited to 'WorkspaceDir.hs')
-rw-r--r--WorkspaceDir.hs16
1 files changed, 8 insertions, 8 deletions
diff --git a/WorkspaceDir.hs b/WorkspaceDir.hs
index 6877ea1..290a675 100644
--- a/WorkspaceDir.hs
+++ b/WorkspaceDir.hs
@@ -25,13 +25,15 @@ module XMonadContrib.WorkspaceDir (
changeDir
) where
-import System.Directory ( setCurrentDirectory, getCurrentDirectory )
-import Data.List ( nub )
+import System.Directory ( setCurrentDirectory )
import XMonad
import Operations ( sendMessage )
-import XMonadContrib.Dmenu ( dmenu, runProcessWithInput )
+import XMonadContrib.Dmenu ( runProcessWithInput )
+import XMonadContrib.XPrompt ( XPConfig )
+import XMonadContrib.DirectoryPrompt ( directoryPrompt )
import XMonadContrib.LayoutHelpers ( layoutModify )
+import XMonadContrib.XPrompt ( defaultXPConfig )
-- $usage
-- You can use this module with the following in your Config.hs file:
@@ -42,7 +44,7 @@ import XMonadContrib.LayoutHelpers ( layoutModify )
--
-- In keybindings:
--
--- > , ((modMask .|. shiftMask, xK_x ), changeDir ["~","/tmp"])
+-- > , ((modMask .|. shiftMask, xK_x ), changeDir defaultXPConfig)
data Chdir = Chdir String deriving ( Typeable )
@@ -58,7 +60,5 @@ scd :: String -> X ()
scd x = do x' <- io (runProcessWithInput "bash" [] ("echo -n " ++ x) `catch` \_ -> return x)
catchIO $ setCurrentDirectory x'
-changeDir :: [String] -> X ()
-changeDir dirs = do thisd <- io getCurrentDirectory
- dir <- dmenu (nub (thisd:dirs))
- sendMessage (Chdir dir)
+changeDir :: XPConfig -> X ()
+changeDir c = directoryPrompt c "Set working directory: " (sendMessage . Chdir)