aboutsummaryrefslogtreecommitdiffstats
path: root/XMonad/Util/EZConfig.hs
diff options
context:
space:
mode:
authorAdam Vogt <vogt.adam@gmail.com>2009-07-26 05:20:03 +0200
committerAdam Vogt <vogt.adam@gmail.com>2009-07-26 05:20:03 +0200
commitd232c5796869493fda17fd66a846f3dcfab82eb8 (patch)
tree18e5fa8be4f23955406d4e1c7bb797bb3026aa6e /XMonad/Util/EZConfig.hs
parent0912f1ffa86eb184f5be14acf2436c26cfebedd3 (diff)
downloadXMonadContrib-d232c5796869493fda17fd66a846f3dcfab82eb8.tar.gz
XMonadContrib-d232c5796869493fda17fd66a846f3dcfab82eb8.tar.xz
XMonadContrib-d232c5796869493fda17fd66a846f3dcfab82eb8.zip
U.NamedActions: align the descriptions for each section, refactor its integration with EZConfig
Ignore-this: f7132388b1f1fd2dbf03885ffa534c20 darcs-hash:20090726032003-1499c-264671a5613ef3610a9e807c0e6645a629becab2.gz
Diffstat (limited to 'XMonad/Util/EZConfig.hs')
-rw-r--r--XMonad/Util/EZConfig.hs16
1 files changed, 6 insertions, 10 deletions
diff --git a/XMonad/Util/EZConfig.hs b/XMonad/Util/EZConfig.hs
index cf7545c..6e0a4c3 100644
--- a/XMonad/Util/EZConfig.hs
+++ b/XMonad/Util/EZConfig.hs
@@ -359,23 +359,19 @@ mkNamedKeymap c = mkNamedSubmaps . readKeymap c
-- group them into submaps in the appropriate way.
mkNamedSubmaps :: [([(KeyMask, KeySym)], NamedAction)] -> [((KeyMask, KeySym), NamedAction)]
-mkNamedSubmaps binds = map combine gathered
- where gathered = groupBy fstKey
- . sortBy (comparing fst)
- $ binds
- combine [([k],act)] = (k,act)
- combine ks = (head . fst . head $ ks,
- submapName . mkNamedSubmaps $ map (first tail) ks)
- fstKey = (==) `on` (head . fst)
+mkNamedSubmaps = mkSubmaps' submapName
mkSubmaps :: [ ([(KeyMask,KeySym)], X ()) ] -> [((KeyMask, KeySym), X ())]
-mkSubmaps binds = map combine gathered
+mkSubmaps = mkSubmaps' $ submap . M.fromList
+
+mkSubmaps' :: (Ord a) => ([(a, c)] -> c) -> [([a], c)] -> [(a, c)]
+mkSubmaps' subm binds = map combine gathered
where gathered = groupBy fstKey
. sortBy (comparing fst)
$ binds
combine [([k],act)] = (k,act)
combine ks = (head . fst . head $ ks,
- submap . M.fromList . mkSubmaps $ map (first tail) ks)
+ subm . mkSubmaps' subm $ map (first tail) ks)
fstKey = (==) `on` (head . fst)
on :: (a -> a -> b) -> (c -> a) -> c -> c -> b