From d232c5796869493fda17fd66a846f3dcfab82eb8 Mon Sep 17 00:00:00 2001 From: Adam Vogt Date: Sun, 26 Jul 2009 05:20:03 +0200 Subject: U.NamedActions: align the descriptions for each section, refactor its integration with EZConfig Ignore-this: f7132388b1f1fd2dbf03885ffa534c20 darcs-hash:20090726032003-1499c-264671a5613ef3610a9e807c0e6645a629becab2.gz --- XMonad/Util/EZConfig.hs | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) (limited to 'XMonad/Util/EZConfig.hs') 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 -- cgit v1.2.3