aboutsummaryrefslogtreecommitdiffstats
path: root/Dmenu.hs
diff options
context:
space:
mode:
authorDevin Mullins <me@twifkak.com>2007-10-07 19:25:43 +0200
committerDevin Mullins <me@twifkak.com>2007-10-07 19:25:43 +0200
commit922f01f904a82042430afeb42ba3c7f3097db4bd (patch)
treed6d8086816aba16e381738b6ca08ea1f87c8c2c4 /Dmenu.hs
parent09561ded3e37305570f10ae857dfe9c11ad0bf16 (diff)
downloadXMonadContrib-922f01f904a82042430afeb42ba3c7f3097db4bd.tar.gz
XMonadContrib-922f01f904a82042430afeb42ba3c7f3097db4bd.tar.xz
XMonadContrib-922f01f904a82042430afeb42ba3c7f3097db4bd.zip
add dmenuMap function
darcs-hash:20071007172543-78224-1664213772e1505d837af8fadf8903349bb430bc.gz
Diffstat (limited to 'Dmenu.hs')
-rw-r--r--Dmenu.hs11
1 files changed, 8 insertions, 3 deletions
diff --git a/Dmenu.hs b/Dmenu.hs
index e5542c9..f2d23fe 100644
--- a/Dmenu.hs
+++ b/Dmenu.hs
@@ -3,7 +3,7 @@
-- Module : XMonadContrib.Dmenu
-- Copyright : (c) Spencer Janssen <sjanssen@cse.unl.edu>
-- License : BSD-style (see LICENSE)
---
+--
-- Maintainer : Spencer Janssen <sjanssen@cse.unl.edu>
-- Stability : unstable
-- Portability : unportable
@@ -14,13 +14,14 @@
module XMonadContrib.Dmenu (
-- * Usage
- -- $usage
- dmenu, dmenuXinerama,
+ -- $usage
+ dmenu, dmenuXinerama, dmenuMap,
runProcessWithInput
) where
import XMonad
import qualified StackSet as W
+import qualified Data.Map as M
import System.Exit
import System.Process
import System.IO
@@ -58,3 +59,7 @@ dmenuXinerama opts = do
dmenu :: [String] -> X (Maybe String)
dmenu opts = io $ runProcessWithInput "dmenu" [] (unlines opts)
+
+dmenuMap :: M.Map String a -> X (Maybe a)
+dmenuMap selectionMap =
+ dmenu (M.keys selectionMap) >>= return . maybe Nothing (flip M.lookup selectionMap)