aboutsummaryrefslogtreecommitdiffstats
path: root/DirectoryPrompt.hs
diff options
context:
space:
mode:
authorDevin Mullins <me@twifkak.com>2007-10-06 09:09:59 +0200
committerDevin Mullins <me@twifkak.com>2007-10-06 09:09:59 +0200
commitfcec780f4bf68073bfad76998b05bf8663e9b83f (patch)
tree7259dd31f4ec7a516ee63310bfbedb0bef6e9094 /DirectoryPrompt.hs
parent6ee3d30ce497d673bdc25592b846c14b4b660a17 (diff)
downloadXMonadContrib-fcec780f4bf68073bfad76998b05bf8663e9b83f.tar.gz
XMonadContrib-fcec780f4bf68073bfad76998b05bf8663e9b83f.tar.xz
XMonadContrib-fcec780f4bf68073bfad76998b05bf8663e9b83f.zip
change Dmenu functions to return IO/X (Maybe String)
dmenu exits with code 1 when you hit Escape, and I wanna create a contrib that takes advantage of that. This required changes in four contribs (Commands, DirectoryPrompt, ShellPrompt, and WorkspaceDir), and might require changes in users' Configs. Also, I'm not sure some of the changes I made to the client code are very Haskelly. Would appreciate input there. darcs-hash:20071006070959-78224-eeefb4300d6d3de7b199f2b1ad37ba43384e03f1.gz
Diffstat (limited to 'DirectoryPrompt.hs')
-rw-r--r--DirectoryPrompt.hs4
1 files changed, 3 insertions, 1 deletions
diff --git a/DirectoryPrompt.hs b/DirectoryPrompt.hs
index b010d4f..5ea4c36 100644
--- a/DirectoryPrompt.hs
+++ b/DirectoryPrompt.hs
@@ -18,6 +18,8 @@ module XMonadContrib.DirectoryPrompt (
directoryPrompt
) where
+import Data.Maybe(fromMaybe)
+
import XMonad
import XMonadContrib.XPrompt
import XMonadContrib.Dmenu ( runProcessWithInput )
@@ -34,7 +36,7 @@ directoryPrompt :: XPConfig -> String -> (String -> X ()) -> X ()
directoryPrompt c prom job = mkXPrompt (Dir prom) c getDirCompl job
getDirCompl :: String -> IO [String]
-getDirCompl s = (filter notboring . lines) `fmap`
+getDirCompl s = (filter notboring . lines . fromMaybe "") `fmap`
runProcessWithInput "/bin/bash" [] ("compgen -A directory " ++ s ++ "\n")
notboring :: String -> Bool